我做了一个登陆页面index.jsp和一个验证的文件loginManage.jsp,登录页面可以进去,但是输入姓名和密码后点提交后就
会出现错误(我的姓名和密码都输入正确,和数据库中的一样)。其中,index.jsp中表单里的关键代码是
<form action="loginManage.jsp?param=login" method="post" onsubmit="return checkForm()">
loginManage.jsp中的一部分代码是
<%
String userName = request.getParameter("userName");
String password = request.getParameter("password");
String param = request.getParameter("param");
UserDAL impleUser = new UserDAL();if(param.equals("login")){ //登录操作
User user = impleUser.getUserByNameAndPwd(userName, password);
List users = (ArrayList)application.getAttribute("users"); if(user!=null){
if(users.size()==0){ //如果现在为第一个登录的
users = new ArrayList();
users.add(user.getUserName());
}else{
int i = 0;
for(i=0;i<users.size();i++){
if(user.getUserName().equals(users.get(i).toString())){
break;
}
}
if(i==users.size()){ //如果当前用户没有在已登录用户的列表中
users.add(user.getUserName());
}
}
session.setAttribute("user", user);
application.setAttribute("users", users);
response.sendRedirect("main.jsp");
}else if(param.equals("register")){ //注册操作
int count = impleUser.save(userName, password, 0);
if(count>0){
out.print("<script type='text/javascript'>alert('注册成功,请登录。');location.replace('index.jsp');</script>");
}else{
out.print("<script type='text/javascript'>alert('注册失败,请重新注册!');history.back()");
}
}else{
out.print("啥都不是");
}
}
%>
其中的getUserByNameAndPwd()和save()方法都验证过是对的,而页面出现的错误信息是
type Exception reportmessagedescriptionThe server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NullPointerException
root cause java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish v3 logs.
不知道该怎么解决。
会出现错误(我的姓名和密码都输入正确,和数据库中的一样)。其中,index.jsp中表单里的关键代码是
<form action="loginManage.jsp?param=login" method="post" onsubmit="return checkForm()">
loginManage.jsp中的一部分代码是
<%
String userName = request.getParameter("userName");
String password = request.getParameter("password");
String param = request.getParameter("param");
UserDAL impleUser = new UserDAL();if(param.equals("login")){ //登录操作
User user = impleUser.getUserByNameAndPwd(userName, password);
List users = (ArrayList)application.getAttribute("users"); if(user!=null){
if(users.size()==0){ //如果现在为第一个登录的
users = new ArrayList();
users.add(user.getUserName());
}else{
int i = 0;
for(i=0;i<users.size();i++){
if(user.getUserName().equals(users.get(i).toString())){
break;
}
}
if(i==users.size()){ //如果当前用户没有在已登录用户的列表中
users.add(user.getUserName());
}
}
session.setAttribute("user", user);
application.setAttribute("users", users);
response.sendRedirect("main.jsp");
}else if(param.equals("register")){ //注册操作
int count = impleUser.save(userName, password, 0);
if(count>0){
out.print("<script type='text/javascript'>alert('注册成功,请登录。');location.replace('index.jsp');</script>");
}else{
out.print("<script type='text/javascript'>alert('注册失败,请重新注册!');history.back()");
}
}else{
out.print("啥都不是");
}
}
%>
其中的getUserByNameAndPwd()和save()方法都验证过是对的,而页面出现的错误信息是
type Exception reportmessagedescriptionThe server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NullPointerException
root cause java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish v3 logs.
不知道该怎么解决。
解决方案 »
- JAVA如何传输和获取二进制流
- 绝望求助中,哪位兄弟做过页面切入flash音频播放器
- 求帮助 谢谢 jsp的问题 就是不能通过 急
- 请问可以往javascript函数中传两个变量吗
- ssh框架自动释放资源我项目发布运行以后多点几次分页就卡住了
- Server returned HTTP response code: 502 for URL????
- Spring JdbcTemplate queryForList()问题
- 大家帮忙看看
- 建网站的数据库用哪种开发语言比较好?
- 关于回调页面得问题
- 一个<jsp:param name="user" value="<%=name%>"/>参数传递的菜鸟问题
- <jsp:include>的一个问题
这个我也不知道 传说这里换成if(("login").equals(param))比较好
这里的toString去掉试试,或者验证下users.get(i),看看是否null
int count = impleUser.save(userName, password, 0);
if(count>0){
out.print("<script type='text/javascript'>alert('注册成功,请登录。');location.replace('index.jsp');</script>");
}else{
out.print("<script type='text/javascript'>alert('注册失败,请重新注册!');history.back()");
}
我运行后,页面是空白的,数据库中也没添加新的User,但是save()测试后是对的
out.print("<script type='text/javascript'>alert('注册失败,请重新注册!');history.back()");
这句结尾少了</script>
如果显示了这个页面,估计就是空白了
显示什么变量
这句结尾少了</script>把这个先加上
if(count>0){
out.print("<script type='text/javascript'>alert('注册成功,请登录。');location.replace('index.jsp');</script>");
//out.print("注册成功");
}else{
//out.print("注册失败");
out.print("<script type='text/javascript'>alert('注册失败,请重新注册!');history.back();</script>");
}
写错位置了,放在了user==null的里边了,所以一直没执行