照着书打的,竟然有错误。原代码如下,错误提示见图片:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>response</title>
</head>
<body>
<%
//接收用户名和密码,完成对用户的验证
String u=request.getParameter("username");
String p=request.getParameter("password");
//简单验证用户名或密码是否正确
if(u.equals("Jack") && p.equals("123"))
{
//合法,跳转到web.jsp
response.sendRedirect("wel.jsp");
}
else
{
//不合法
response.sendRedirect("login.jsp");
}
%>
</body>
</html>
------解决思路----------------------
对的, 其次你传递过来的为什么是null。找找原因。
------解决思路----------------------
教你一个最原始的方法。你去找到loginCL_jsp.java文件,看看第87行是什么。那么就是那个空指针了。
------解决思路----------------------
把你login.jsp的代码贴出来,用户名和密码没值当然跳login.jsp了,response.sendRedirect("login.jsp")
------解决思路----------------------
先判断你获取的p和u是否为null,如果为null或者“”那么就不要去比较了,否则会造成错误
------解决思路----------------------
空指针异常一般都是传的值前后不一致,读取不到,可以Debug一下,看22行传的那两个值是怎么没传过来的。
------解决思路----------------------
用户名:<input type="text" name="username/"><br/>
你的username后面多个个“/”去掉/就好了。