关于JSP登录

r9cnkr 2012-02-08 06:40:45
我写的一个简单的JSP登录页面,用户名是admin,密码是888888,登陆成功的话跳转到成功页面,失败的话跳转到失败页面,但是运行时提示
页面http500。同时显示该行语句提示The server encountered an internal error () that prevented it from fulfilling this request
if(request.getParameter("id").equals("admin")&&request.getParameter("password").equals("888888")){



<%@page contentType="text/html" import="java.util.*,java.lang.*" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
if(request.getParameter("id").equals("admin")&&request.getParameter("password").equals("888888")){
response.sendRedirect("login.jsp");
}
else{
response.sendRedirect("error.jsp");
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<tr><td>系统登陆</td></tr>
<form action="index.jsp" method="post"></form>
<tr>
<td>用户:</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="submit" value="登陆"></td>
</tr>
</body>
</body>
</html>
...全文
226 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_yaojing 2012-02-15
  • 打赏
  • 举报
回复
request.getParameter("id")!=null&&"admin".equals(request.getParameter("id")

先判断一下不为null,再判断不是空字符串,可以确保不会抛空指针异常
xuchongzhigmail 2012-02-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 r9cnkr 的回复:]
我写的一个简单的JSP登录页面,用户名是admin,密码是888888,登陆成功的话跳转到成功页面,失败的话跳转到失败页面,但是运行时提示
页面http500。同时显示该行语句提示The server encountered an internal error () that prevented it from fulfilling this request
if(request.getPa……
[/Quote]
<%
if(request.getParameter("id").equals("admin")&&request.getParameter("password").equals("888888")){
response.sendRedirect("login.jsp");
}
else{
response.sendRedirect("error.jsp");
}
%>
位置也应该反过来写
if("admin".equals(request.getParameter("id")))&&.....
这样你就首先保证了equals前面不是空
你说的问题应该就是用的转发了。。。吧值放在request里面是最方便的 但是不是最科学的
LingXX0103 2012-02-14
  • 打赏
  • 举报
回复
if(request.getParameter("id").equals("admin")&&request.getParameter("password").equals("888888")){
response.sendRedirect("login.jsp");
}
else{
response.sendRedirect("error.jsp");
}
上面代码放到你的index.jsp里去吧
或者直接用js做吧
rasracter 2012-02-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 rasracter 的回复:]
request.getParameter("id").equals("admin")
我能笑么哈哈哈哈哈~~~
你用的是"id",指的是一个字符串,字符串的内容是id,
request.getParameter(id).equals("admin")
才是获取id属性的值,password也是一样
[/Quote]

我编代码编傻了,错了
rasracter 2012-02-10
  • 打赏
  • 举报
回复
request.getParameter("id").equals("admin")
我能笑么哈哈哈哈哈~~~
你用的是"id",指的是一个字符串,字符串的内容是id,
request.getParameter(id).equals("admin")
才是获取id属性的值,password也是一样
web_hsj 2012-02-10
  • 打赏
  • 举报
回复
if(request.getParameter("id").equals("admin")&&request.getParameter("password").equals("888888"))
对(request.getParameter("id")判断是否为空的处理,对空值null用equals()会异常。
synized 2012-02-09
  • 打赏
  • 举报
回复
为什么要把逻辑处理放在JSP页面中,放在servlet中不好么 你这个肯定出错的 因为第一次执行是空的
arles7 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sd4000784 的回复:]

Java code

response.sendRedirect("login.jsp");



你使用了重定向、没有使用跳转、
重定向中request和response都会获取不到上一次操作的信息了、

解决办法:
1、 可以把他的username和password 存到session里 跟使用map一样 拿出来的时候需要强制转换、
2、 把response……
[/Quote]


跟我想要说的一样,请求转发跟重定向不一样,请求转发从始至终都是在一个请求上,所以你拿不到输入的值。PS:我也是初学者,不知道说的对不对
  • 打赏
  • 举报
回复

response.sendRedirect("login.jsp");


你使用了重定向、没有使用跳转、
重定向中request和response都会获取不到上一次操作的信息了、

解决办法:
1、 可以把他的username和password 存到session里 跟使用map一样 拿出来的时候需要强制转换、
2、 把response.sendRedirect("login.jsp"); 换成

request.getRequestDispatcher("/login.jsp").forward(request,response);
在login.jsp里在处理
ml3641431 2012-02-09
  • 打赏
  • 举报
回复
你用转发试下 重定向在第3个页面你是拿不到的
  • 打赏
  • 举报
回复
那你使用session吧
r9cnkr 2012-02-08
  • 打赏
  • 举报
回复
让他正常显示登陆的 帐号和密码
r9cnkr 2012-02-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ylovep 的回复:]
request.getParameter("id").equals("admin")可能获取的值为null
建议把值String id=‘’;先初始化一下
[/Quote]

我把if语句的内容,放到另一个页面上,就好使了
可是在登录成功页面,想显示登陆的帐号和密码,确实显示Null,这个该如何修改
ylovep 2012-02-08
  • 打赏
  • 举报
回复
request.getParameter("id").equals("admin")可能获取的值为null
建议把值String id=‘’;先初始化一下
r9cnkr 2012-02-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ihtml 的回复:]
不异常才怪呢

你把处理逻辑和提交页面写在一个jsp里,又没做null判断,当然异常啊。
你第一次访问这个页面时,url是根本没有参数的。
request.getParameter("id")这句返回的是null,在null上执行equals就会异常咯
[/Quote]

那么该如何修改?
结贴是美德 2012-02-08
  • 打赏
  • 举报
回复
不异常才怪呢

你把处理逻辑和提交页面写在一个jsp里,又没做null判断,当然异常啊。
你第一次访问这个页面时,url是根本没有参数的。
request.getParameter("id")这句返回的是null,在null上执行equals就会异常咯

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧