登入JSP页面,总是提示错误如下!
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
decription The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.bjsxt.shopping.util.filter.IPFilter.doFilter(IPFilter.java:31)
root cause java.lang.NullPointerException
com.bjsxt.shopping.user.User.check(User.java:200)
org.apache.jsp.Login_jsp._jspService(Login_jsp.java:63)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.bjsxt.shopping.util.filter.IPFilter.doFilter(IPFilter.java:31)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.20Login.jsp的代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="com.bjsxt.shopping.user.*" %>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");try { User u = User.check(username, password);
session.setAttribute("user", u);
} catch (UserNotFoundException e) {
out.println(e.getMessage());
return;
}
catch (PasswordNotCorrectException e) {
out.println(e.getMessage());
return;
}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>
<base href="<%=basePath%>">
<title>自服务系统</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<center>
欢迎您: <%=username %>
<br>
<a href="UserModify.jsp">修改我的信息</a>
<br>
<a href="ChangePassword.jsp">修改我的密码</a>
<br>
<a href="MyOrders.jsp">浏览以往订单</a>
</center>
</body>
</html>向各位牛人请教!!!谢谢啦
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
decription The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.bjsxt.shopping.util.filter.IPFilter.doFilter(IPFilter.java:31)
root cause java.lang.NullPointerException
com.bjsxt.shopping.user.User.check(User.java:200)
org.apache.jsp.Login_jsp._jspService(Login_jsp.java:63)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.bjsxt.shopping.util.filter.IPFilter.doFilter(IPFilter.java:31)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.20Login.jsp的代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="com.bjsxt.shopping.user.*" %>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");try { User u = User.check(username, password);
session.setAttribute("user", u);
} catch (UserNotFoundException e) {
out.println(e.getMessage());
return;
}
catch (PasswordNotCorrectException e) {
out.println(e.getMessage());
return;
}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>
<base href="<%=basePath%>">
<title>自服务系统</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<center>
欢迎您: <%=username %>
<br>
<a href="UserModify.jsp">修改我的信息</a>
<br>
<a href="ChangePassword.jsp">修改我的密码</a>
<br>
<a href="MyOrders.jsp">浏览以往订单</a>
</center>
</body>
</html>向各位牛人请教!!!谢谢啦
String password = request.getParameter("password");
为NULL,所以报的NullPointerException
com.bjsxt.shopping.user.User.check(User.java:200)
org.apache.jsp.Login_jsp._jspService(Login_jsp.java:63) 看User.java第200行,有空指针错误。可能是username或password为空。
可能是String username = request.getParameter("username");
String password = request.getParameter("password");
为NULL,所以报的NullPointerException 这二位指出问题所在!
空指针 异常 自己查查
username = username==null ? "" : username;request中getParameter方法对没有传入的变量会得到null值
比如String username=request.getParameter("username");
如果页面上并没有传入或表单里没有这个username参数,则获取后的username=null
如果你user.check方法里用了字符串比较的话,就会出错我所知道的只有这些,希望能对你有帮助
String password = request.getParameter("password");
//加上下面这两句代码看看
username = username !=null?username:"";
password = password !=null?password:"";
debug过去看看是不是username或password null
在后面接收这两个的时候
String username=request.getParameter("username")==null?"":request.getParameter("username");
String password=request.getParameter("password")==null?"":request.getParameter("password");