public static User validate(String username,String password) throws UserNotFoundException, PasswordNotCorrectExeception {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
User u = null;
try {
conn = DB.getConn();
stmt = DB.getStmt(conn);
String sql = "select password from user where username = '" + username + "'";
rs = DB.executeQuery(stmt, sql);
if(!rs.next()) {
throw new UserNotFoundException();
} else if (!rs.getString("password").equals(password)) {
throw new PasswordNotCorrectExeception();
} else {
u = new User();
u.setAddr(rs.getString("addr")); //就是这里开始报错,找不到addr,但是数据库
//确实有addr,而且把下面额放上来,都是一样报错,找不到行。
u.setId(rs.getInt("id"));
u.setPassword(rs.getString("password"));
u.setPhone(rs.getString("phone"));
u.setUsername(rs.getString("username"));
u.setRdate(rs.getTimestamp("rdate"));
}
} catch (SQLException e) {
e.printStackTrace();
}
return u;
}
解决方案 »
- 关于hibernate 的session和缓存问题。
- 安装2个Tomcat(一个安装版一个绿色版)
- 这个在线客户功能用java实现吗?
- 精通EJB的来交流下
- 网络编程,要有客户端和服务端,在线等高人
- websphere服务器中的servlet获取servlet执行结果异常
- 寻找空间,服务器,求助
- Spring对 hibernate的getHibernateTemplate().execute方式更新不支持事务操作吗
- JSP中bean有几种作用域,分别对应那些类
- 一个很奇怪的static问题
- 关于HibernateTemplate的一个问题!!!!在线等~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- HQL查询问题
现在用户名,密码验证都没问题,但是赋给对象的时候报错。报错的信息如下:java.sql.SQLException: Column 'addr' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1146)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5609)
at com.shopping.User.validate(User.java:130)
at org.apache.jsp.login_jsp._jspService(login_jsp.java:65)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)
String action = request.getParameter("action");
User u = null;
if(action != null && "login".equals(action)) {
String username = request.getParameter("username");
String password = request.getParameter("password");
try {
u = User.validate(username,password);//这里报错
} catch (UserNotFoundException e){
out.print("用户名不存在!");
return;
} catch (PasswordNotCorrectExeception e) {
out.print("密码不正确!");
return;
}
session.setAttribute("user",u);
response.sendRedirect("selfservice.jsp");
}