exception org.apache.jasper.JasperException: Exception in JSP: /login.jsp:4643: prepStmt = conn.prepareStatement(selectStatement);
44: prepStmt.setString(1, username);
45: prepStmt.setString(2, password);
46: rs = prepStmt.executeQuery();
47: //瀹炵幇缃戦〉璺宠浆
48: if (rs.next()) {
49: out.println("Login Successful");
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)这是他报的错
root cause javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'user' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.login_jsp._jspService(login_jsp.java:139)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
44: prepStmt.setString(1, username);
45: prepStmt.setString(2, password);
46: rs = prepStmt.executeQuery();
47: //瀹炵幇缃戦〉璺宠浆
48: if (rs.next()) {
49: out.println("Login Successful");
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)这是他报的错
root cause javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'user' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.login_jsp._jspService(login_jsp.java:139)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
" where username=? and password=?";
这里可能存在 换行问题
你把它缩放到一行 看看
我以前也遇到过 放在一行就OK了
44: prepStmt.setString(1, username);
45: prepStmt.setString(2, password);
46: rs = prepStmt.executeQuery();
47: boolean boo=rs.next();
48: if (boo==true) {
49: out.println("Login Successful");
44: prepStmt.setString(1, username);
45: prepStmt.setString(2, password);
46: rs = prepStmt.executeQuery();
47: boolean boo=rs.next();
48: if (boo==true) {
49: out.println("Login Successful"); 看看我该就知道了
然后再一步一步单步调试很快就能找到错误所在的
44: prepStmt.setString(1, username);
45: prepStmt.setString(2, password);
46: rs=(ResultSet)prepStmt.executeQuery();
47: //瀹炵幇缃戦〉璺宠浆
48: if(rs.next()) {
49: out.println("Login Successful");
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: '=' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.login_jsp._jspService(login_jsp.java:141)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
就是你sql语句的错误 导致excuteQuery不能执行你把selectStatement 在控制抬打印出来
System.out.println(selectStatement );
然后再在sql server中执行 看错误提示到底在哪
一般可能是因为该空格的地方没空格引起的
有没有写错
//把你接收过来的参数编码设置一下
不然到了数据库就是乱码
String username = (String) request.getParameter("username");
String password = (String) request.getParameter("pwd");