jsp只是抛出nullPointerException的代码

jsp只是抛出nullPointerException的代码,jsp,Jsp,这是test.jsp <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <% String str = request.getParameter("str"); if (str.equals("play")) { } %> 请注意,GlassFish Server开源版本3.1.1日志中提供了异常及其根本原因的完整堆栈跟踪

这是test.jsp

<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%
    String str = request.getParameter("str");
    if (str.equals("play")) {
    }                  
%>
请注意,GlassFish Server开源版本3.1.1日志中提供了异常及其根本原因的完整堆栈跟踪

上面的代码在运行时有错误,上面的代码有什么问题?

if(str.equals(“play”)
更改为
if(str!=null&&str.equals(“play”)


您的请求参数似乎为空

在jsp中使用脚本是非常糟糕的编程实践。


对于您面临的问题,我认为找不到参数检查是否为请求发送参数

另一种方法。如果您有常量字符串,例如,在您的情况下“play”与它比较变量,而不是您正在执行的操作。i、 e

 if ( ("play").equals(str))
 {

 }  
这样,您就不会得到Null指针异常,因为字符串不等于Null(若str为Null)。在您的情况下,因为str为null,所以null.equals会给您null指针异常

还尝试在if语句之前打印str的值,如下所示,以查看值是什么

out.println("Str:"+str);

希望这能有所帮助。

对于
“str”
没有请求参数,因此str变量为
null
。正如其他人建议的,你可以使用这个
“play”.equals(str)

请调试从中获取“str”值的.java文件。 并检查该位置是否为空。 如果是,那么这就是它抛出空指针异常的原因。 Str=NULL不能解决您的问题,因为您无法获得所需的输出&这会导致您更加困惑。
PS:请避免在JSP中使用Scriptlet。

添加str=空到您的if循环。
out.println("Str:"+str);