2014-10-28 123 views
-1

没有任何一个请帮我出这个错误的下面JSP登录页面错误

类型异常报告 消息

说明服务器遇到内部错误(),阻止其完成此请求。 例外

org.apache.jasper.JasperException:10在jsp文件:无法编译类JSP:在行发生

错误/login.jsp 用户名不能被解析为一个变量

与login.jsp的文件一起下面列出的错误

的login.jsp

<%@ page import="java.sql.*"%> 
<% 
    String userName = request.getParameter("username");  
    String password = request.getParameter("password"); 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection con = DriverManager.getConnection("jdbc:mysql://50.62.23.184:3306/gtuser_sched1", 
      "gtuser_grp1", "capmap"); 
    Statement st = con.createStatement(); 
    ResultSet rs; 
    rs = st.executeQuery("select * from users where userName='" +username + "' and password='" +password + "'"); 
    if (rs.next()) { 
     session.setAttribute("userid", userName); 
     response.sendRedirect("success.jsp"); 
    } else { 
     out.println("Invalid password <a href='index.jsp'>try again</a>"); 
    } 
%> 

异常

exception 
org.apache.jasper.JasperException: Unable to compile class for JSP: 
An error occurred at line: 10 in the jsp file: /login.jsp 
username cannot be resolved to a variable 
7:    "gtuser_grp1", "Capstone1"); 
8:  Statement st = con.createStatement(); 
9:  ResultSet rs; 
10:  rs = st.executeQuery("select * from users where userName='" +username + "' and password='" +password + "'"); 
11:  if (rs.next()) { 
12:   session.setAttribute("userid", userName); 
13:   response.sendRedirect("success.jsp"); 
Stacktrace: 
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) 
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:446) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
note The full stack trace of the root cause is available in the JBoss Web/7.0.10.Final 

login.jsp//file where im providing login credentials 
 

 
<%@ page import="java.sql.*"%> 
 
<% 
 
    String userName = request.getParameter("username");  
 
    String password = request.getParameter("password"); 
 
    Class.forName("com.mysql.jdbc.Driver"); 
 
    Connection con = DriverManager.getConnection("jdbc:mysql://50.62.23.184:3306/gtuser_sched1", 
 
      "gtuser_grp1", "capmap"); 
 
    Statement st = con.createStatement(); 
 
    ResultSet rs; 
 
    rs = st.executeQuery("select * from users where userName='" +username + "' and password='" +password + "'"); 
 
    if (rs.next()) { 
 
     session.setAttribute("userid", userName); 
 
     response.sendRedirect("success.jsp"); 
 
    } else { 
 
     out.println("Invalid password <a href='index.jsp'>try again</a>"); 
 
    } 
 
%>

这是错误显示

exception 
 
org.apache.jasper.JasperException: Unable to compile class for JSP: 
 
An error occurred at line: 10 in the jsp file: /login.jsp 
 
username cannot be resolved to a variable 
 
7:    "gtuser_grp1", "Capstone1"); 
 
8:  Statement st = con.createStatement(); 
 
9:  ResultSet rs; 
 
10:  rs = st.executeQuery("select * from users where userName='" +username + "' and password='" +password + "'"); 
 
11:  if (rs.next()) { 
 
12:   session.setAttribute("userid", userName); 
 
13:   response.sendRedirect("success.jsp"); 
 
Stacktrace: 
 
\t org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) 
 
\t org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 
 
\t org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:446) 
 
\t org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) 
 
\t org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) 
 
\t org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) 
 
\t org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607) 
 
\t org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) 
 
\t org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) 
 
\t org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) 
 
\t javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
 
note The full stack trace of the root cause is available in the JBoss Web/7.0.10.Final logs 
 

 
<!-- begin snippet: js hide: false -->

+0

我敢打赌,你现在已经找到了'用户名'和'用户名'的错字。不妨删除这个问题,因为这只是一个印刷错误,并且也存在JavaScript片段标签的问题。 – Arjan 2016-08-23 06:11:09

回答

0

您应该避免在JSP中编写Java代码。这不是一个好习惯。看到这个link。尝试将代码放在Try Catch块中,并且应该解决错误。