错误信息提示: type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: /logincheck.jsp(58,37) equal symbol expected org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88) org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:200) org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:155) org.apache.jasper.compiler.Parser.parseParam(Parser.java:847) org.apache.jasper.compiler.Parser.parseBody(Parser.java:1683) org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1022) org.apache.jasper.compiler.Parser.parseForward(Parser.java:886) org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1138) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1466) org.apache.jasper.compiler.Parser.parse(Parser.java:138) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216) org.apache.jasper.compiler.ParserController.parse(ParserController.java:103) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154) org.apache.jasper.compiler.Compiler.compile(Compiler.java:315) org.apache.jasper.compiler.Compiler.compile(Compiler.java:295) org.apache.jasper.compiler.Compiler.compile(Compiler.java:282) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
页面编译不通过啊。 把 <jsp:forward page = "loginsuccess.jsp"> <jsp:param name = "username" value "<%=name%>"/> </jsp:forward> 改成 <jsp:forward page = "loginsuccess.jsp"> <jsp:param name = "username" value="<%=name%>"/> </jsp:forward>
type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: /logincheck.jsp(58,37) equal symbol expected
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:200)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:155)
org.apache.jasper.compiler.Parser.parseParam(Parser.java:847)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1683)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1022)
org.apache.jasper.compiler.Parser.parseForward(Parser.java:886)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1138)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1466)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
把
<jsp:forward page = "loginsuccess.jsp">
<jsp:param name = "username" value "<%=name%>"/>
</jsp:forward>
改成 <jsp:forward page = "loginsuccess.jsp">
<jsp:param name = "username" value="<%=name%>"/>
</jsp:forward>
<%
}else{
%>
<jsp:forward page = "error.jsp"/>
<% }
%>
既然 已经得到用户的账号和密码 为何不直接查询账号密码是否存在且匹配?还要遍历。。这
这种代码 还是尽量写个后台吧。全部写到JSP中 感觉 就算出错了 都不好改 很多错误找不出来的。
你的value少了一个=号,这个修改完之后 在修改 <%
}else{
%>
<jsp:forward page = "error.jsp"/>
<% }
%> 应该正常了
注意引号有没有成对 是否是英文引号
花括号也检查下有没有成对把代码嵌到jsp页面出错了是很不好找。。
你的value少了一个=号,这个修改完之后 在修改 <%
}else{
%>
<jsp:forward page = "error.jsp"/>
<% }
%> 应该正常了
恩,是啊,太粗心了,符号居然掉了
不过这次怎么又出来一个错误,equals方法应该是正确的
你看下:
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 35 in the jsp file: /logincheck.jsp
Syntax error, insert ") Statement" to complete IfStatement
32: while(rs.next()){
33: String temp1 = rs.getString(1);
34: String temp2 = rs.getString(4);
35: if(name.equals(temp1) && password.equals(temp2){
36: flag = true;
37: break;
38: }
你的value少了一个=号,这个修改完之后 在修改 <%
}else{
%>
<jsp:forward page = "error.jsp"/>
<% }
%> 应该正常了
恩,是啊,太粗心了,符号居然掉了
不过这次怎么又出来一个错误,equals方法应该是正确的
你看下:
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 35 in the jsp file: /logincheck.jsp
Syntax error, insert ") Statement" to complete IfStatement
32: while(rs.next()){
33: String temp1 = rs.getString(1);
34: String temp2 = rs.getString(4);
35: if(name.equals(temp1) && password.equals(temp2){
36: flag = true;
37: break;
38: }
你的if语句少了一个小括号,改成下面的即可。
if(name.equals(temp1) && password.equals(temp2)){
36: flag = true;
37: break;
38: }
你的value少了一个=号,这个修改完之后 在修改 <%
}else{
%>
<jsp:forward page = "error.jsp"/>
<% }
%> 应该正常了
恩,是啊,太粗心了,符号居然掉了
不过这次怎么又出来一个错误,equals方法应该是正确的
你看下:
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 35 in the jsp file: /logincheck.jsp
Syntax error, insert ") Statement" to complete IfStatement
32: while(rs.next()){
33: String temp1 = rs.getString(1);
34: String temp2 = rs.getString(4);
35: if(name.equals(temp1) && password.equals(temp2){
36: flag = true;
37: break;
38: }
你的if语句少了一个小括号,改成下面的即可。
if(name.equals(temp1) && password.equals(temp2)){
36: flag = true;
37: break;
38: }
恩,是啊,还是太粗心了,先前改代码的时候漏掉了,这次编译通过了,只是验证的地方逻辑错了,跑到error页面去了,这里我还需要研究下,谢谢了啊
你的value少了一个=号,这个修改完之后 在修改 <%
}else{
%>
<jsp:forward page = "error.jsp"/>
<% }
%> 应该正常了
恩,是啊,太粗心了,符号居然掉了
不过这次怎么又出来一个错误,equals方法应该是正确的
你看下:
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 35 in the jsp file: /logincheck.jsp
Syntax error, insert ") Statement" to complete IfStatement
32: while(rs.next()){
33: String temp1 = rs.getString(1);
34: String temp2 = rs.getString(4);
35: if(name.equals(temp1) && password.equals(temp2){
36: flag = true;
37: break;
38: }
你的if语句少了一个小括号,改成下面的即可。
if(name.equals(temp1) && password.equals(temp2)){
36: flag = true;
37: break;
38: }我把try块里面的验证的方法换了一下,但是不知道怎么还是跳转到error页面去了
代码如下:
try{
conn = DriverManager.getConnection(url);
String sql = "select * from user where name = '" + name + "'" + "and password = '" + password + "'";
statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//statement.setString(1,name);
//statement.setString(4,password);
rs = statement.executeQuery(sql);
if(rs.next()){
flag = true;
}
//while(rs.next()){
//String temp1 = rs.getString(1);
//String temp2 = rs.getString(4);
//out.println(temp1 + temp2);
//if(name.equals(temp1) && password.equals(temp2)){
//flag = true;
//break;
//}
//name = rs.getString(1);
//flag= true;
//}
}
你把sql语句 打印在控制台,复制出来再数据库里面运行一下,看能查出来数据么?
你把sql语句 打印在控制台,复制出来再数据库里面运行一下,看能查出来数据么?
sql语句在DBMS里面运行了的,可以出数据的,但是在浏览器里面不知道是怎么回事,也没有报错信息什么的
你把sql语句 打印在控制台,复制出来再数据库里面运行一下,看能查出来数据么?
sql语句在DBMS里面运行了的,可以出数据的,但是在浏览器里面不知道是怎么回事,也没有报错信息什么的
try{
conn = DriverManager.getConnection(url);
String sql = "select * from user where name = '" + name + "'" + "and password = '" + password + "'";
statement = conn.createStatement();
rs = statement.executeQuery(sql);
if(rs.next()){
flag = true;
}
//while(rs.next()){
//String temp1 = rs.getString(1);
//String temp2 = rs.getString(4);
//out.println(temp1 + temp2);
//if(name.equals(temp1) && password.equals(temp2)){
//flag = true;
//break;
//}
//name = rs.getString(1);
//flag= true;
//}
}
这样试试看行不行。
你把sql语句 打印在控制台,复制出来再数据库里面运行一下,看能查出来数据么?
sql语句在DBMS里面运行了的,可以出数据的,但是在浏览器里面不知道是怎么回事,也没有报错信息什么的
try{
conn = DriverManager.getConnection(url);
String sql = "select * from user where name = '" + name + "'" + "and password = '" + password + "'";
statement = conn.createStatement();
rs = statement.executeQuery(sql);
if(rs.next()){
flag = true;
}
//while(rs.next()){
//String temp1 = rs.getString(1);
//String temp2 = rs.getString(4);
//out.println(temp1 + temp2);
//if(name.equals(temp1) && password.equals(temp2)){
//flag = true;
//break;
//}
//name = rs.getString(1);
//flag= true;
//}
}
这样试试看行不行。
不行啊,一般好像很少用*来查询了吧,这样空利利用率太低了
我觉得这个问题太奇怪了,我都修改了好几次了,还试了还集中查询的方式,DBMS里面都正常,出来测试就直接跳转到error页面了