<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
</head>
<body>
<form action="" method="post">
请输入姓名<input type="text" name="names"><br>
请输入密码<input type="text" name="password"><br>
<input type="submit" name="submit" value="验证">
<%
String names=request.getParameter("names");
String password=request.getParameter("password");
if(password.equals("good")){
%>
<jsp:forward page="jspforward.jsp">
<jsp:param value="<%=names %>" name="g"/>
<jsp:param value="you are success" name="mess"/>
</jsp:forward>
<%
}else{
%>
<jsp:forward page="jspforward.jsp">
<jsp:param value="<%=names %>" name="g"/>
<jsp:param value="you password is mistake " name="mess"/>
</jsp:forward>
<%
}
%>
</form>
</body>
</html>说我这一行出错    if(password.equals("good")){
编译没错误但到浏览器里有错了

解决方案 »

  1.   

    什么意思,我想我输入good才跳转,你是指开始password没赋值?要怎么改
      

  2.   

    先把password输出,看看什么值
      

  3.   

    +1
    第一次进入页面的时候password是null,so
      

  4.   

    估计你的password是个null 当你执行的时候 出现空指针异常了。。一般向这种比较 应该写成"good".equals(password);
      

  5.   

    +1
    第一次进入页面的时候password是null,so
    null调用equals方法当然报错了
      

  6.   


    if("good".equals(password))这么写就可以免去password为空的判断了。
      

  7.   


    一般为了避免 password = null  所以都用楼上那种判断