jsp登陆验证

hyc_hover 2006-08-30 12:53:24
<%@page import="java.util.*, java.sql.*" contentType="text/html;charset=GB2312" %>
<%
String username=new String(request.getParameter("username"));
String password=new String(request.getParameter("password"));

Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://192.168.1.100:3306/ecgdb","root","123456");
Statement stmt=con.createStatement();
String sql="select * from ecguser where account='"+usernam+"' and password='" + password + "'";
ResultSet rs=stmt.executeQuery(sql);
rs.next();
String password=new String(rs.getString("password"));
if(password.equals(password))
{
session.setAttribute("root","root");
out.print("您已登录成功,本页面将于三秒钟后跳转至信息页面");
session.setAttribute("userinfo",username);
response.setHeader("Refresh","2;URL=viewpatient2.jsp");

}
else
{ response.sendRedirect("error.jsp");
}%>

出现错误
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 2 in the jsp file: /login_useBean.jsp
Generated servlet error:
D:\Tomcat5.0\work\Catalina\localhost\mkhc1\org\apache\jsp\login_005fuseBean_jsp.java:54: cannot resolve symbol
symbol : variable usernam
location: class org.apache.jsp.login_005fuseBean_jsp
String sql="select * from ecguser where account='"+usernam+"' and password='" + password + "'";
^


An error occurred at line: 2 in the jsp file: /login_useBean.jsp
Generated servlet error:
D:\Tomcat5.0\work\Catalina\localhost\mkhc1\org\apache\jsp\login_005fuseBean_jsp.java:57: password is already defined in _jspService(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
String password=new String(rs.getString("password"));
^
2 errors



是怎么回事呢?请大家指教啊~~!!
...全文
272 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuzhijun 2006-08-30
  • 打赏
  • 举报
回复
把password1打印出来,应该是NULL,第一次访问这个页面后面没有参数肯定是空,在前面判断下,即可
hyc_hover 2006-08-30
  • 打赏
  • 举报
回复
改了 还是那个错误啊~~~
Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NullPointerException
java.lang.String.<init>(Unknown Source)
org.apache.jsp.login_005fuseBean_jsp._jspService(login_005fuseBean_jsp.java:48)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.
szb110 2006-08-30
  • 打赏
  • 举报
回复
if(password1!=null&&password!=null&&password1.equals(password))

&&表示先执行前面的,如果为真再执行后面一句。
hyc_hover 2006-08-30
  • 打赏
  • 举报
回复
if(password1.equals(password))
这里面的password 或 password1 有可能是 NULL 值 不能用 euqals()
用短路 && 先判断下是否为空在比较

啊 怎么判断? 代码该怎么实现?谢谢啊!
wanguanghai 2006-08-30
  • 打赏
  • 举报
回复
if(password1.equals(password))

这里面的password 或 password1 有可能是 NULL 值 不能用 euqals()

用短路 && 先判断下是否为空在比较
hyc_hover 2006-08-30
  • 打赏
  • 举报
回复
我的登陆jsp 是:
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>明康科技</title>
<link href="<%=request.getContextPath()%>/css/hellking.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method=get action=login_useBean.jsp>
<table align=center valign=center>
<tr><td>用户名</td>
<td>
<input type=text name=name>
</td></tr>
<tr><td>密码</td>
<td>
<input type=password name="password">
</td></tr>
<tr><td colspan="2" align=center>

<input name="submit" type=submit value=确定>
<input name="reset" type=reset value=重填>
</div>
</table>
</form>
</body>
</html>
hyc_hover 2006-08-30
  • 打赏
  • 举报
回复
zhangj0571
我照你的做了
String password1=new String(rs.getString("password"));
if(password1.equals(password))

提示错误:
Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NullPointerException
java.lang.String.<init>(Unknown Source)
org.apache.jsp.login_005fuseBean_jsp._jspService(login_005fuseBean_jsp.java:48)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

这个又是怎么回事哦
xiaolang_2005 2006-08-30
  • 打赏
  • 举报
回复
password 重复定义
zhangj0571 2006-08-30
  • 打赏
  • 举报
回复
String sql="select * from ecguser where account='"+usernam+"' and password='" + password 这句的usernam改成username,

String password=new String(rs.getString("password")); 这句的password上面已经定义过来,请换个变量名

62,612

社区成员

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

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