从manager.jsp发送删除请求,delete.jsp接受请求执行删除,但爆出以下错误:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /delete.jsp(3,16) 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:194)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:144)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:157)
org.apache.jasper.compiler.ParserController.getPageEncodingForJspSyntax(ParserController.java:435)
org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:378)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:170)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
manager.jsp代码:
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>
<%@page contentType="text/html;charset=UTF-8"%>
<%@include file="opendata.jsp"%>
<html>
<title>新闻发布</title>
<body>
<%
int count=0,lastp,numf,numl,prep,nextp,pageno;
if(request.getParameter("pageno")==null)
{
pageno=0;
}
else
pageno=Integer.parseInt(request.getParameter("pageno"));
sql="select * from news";
rs=smt.executeQuery(sql);
while(rs.next())
count++;
lastp=(int)Math.ceil((double)count/5);
if(pageno==0||pageno>lastp)
pageno=lastp;
numf=pageno*5-4;
numl=numf+4;
if(pageno==1)
prep=1;
else
prep=pageno-1;
if(pageno==lastp)
nextp=lastp;
else
nextp=pageno+1;
sql="select * from news where id between "+numf+" and "+numl;
rs=smt.executeQuery(sql);
%>
<font size=7 color=green>专家留言板 </font>
<font color=#008080>站长使用画面</font>
<hr>
<center>
<form action=board.jsp method=POST>
<table boder=0>
<tr>
<td>目前的页次:<font size=2 color=red><%=pageno%></font>/<font color=blue><%=lastp%></font></td>
<td><a href=manager.jsp?pageno=<%=prep%>>[上一页]</a></td>
<td><a href=manager.jsp?pageno=<%=nextp%>>[下一页]</a></td>
<td><a href=manager.jsp?pageno=1>[第一页]</a></td>
<td><a href=manager.jsp>[最后一页]</a></td>
<td>输入页次<input type=text size=3 name=pageno></td>
<td><input type=submit name=SEND value=送出></td>
<td><a href=password.jsp><font color=red size="5">
<i>站长钻用</i></font></a></td> </tr>
</table>
</form>
<form action=delete.jsp?pageno=<%=pageno%> method=POST>
<%
String subject,time,memo;
int id;
while(rs.next())
{
subject=rs.getString(1);
time=rs.getString(2);
memo=rs.getString(3);
id=rs.getInt(4);
out.print("<p align=left><input type=checkbox name=D"+id+"value=del>删除第<font color=red>"+id+"</font>");
out.print("<center>");
out.print("<table border=1>");
// out.print("<tr><td bgcolor=yellow>时间</td><td>"+time+"</td></tr>");
out.print("<tr><td bgcolor=yellow>主题</td><td>"+subject+"</td></tr>");
out.print("<tr><td valign=top bgcolor=yellow>留言</td><td>"+memo+"</td></tr>");
out.print("</table></p>");
}
%>
<input type=submit name=SEND value=确定删除>
<input type=reset value=重新选取>
</form>
<hr>
<center>
<a href=message.html>我要留言</a>
<a href=manager.jsp>查看留言</a>
</body>
</html>
delete.jsp代码如下:<%@page import="java.sql*"%>
<%@page import="java.util*"%>
<%@page include file="opendata.jsp"%>
<%@page contentType="text/html;charset=UTF-8"%>
<html>
//<%
//String para,value;
//int pageno,numf,numl;
//if(request.getParameter("pageno")==null)
//pageno=0;
//else
//pageno=Integer.parseInt(request.getParameter("pageno"));
//OUT.PRINT(pageno);//numf=pageno*5-4;
//numl=numf+4;
//for(int i=numf;i<=numl;i++)
//{
// para="D"+String.valueOf(i);
// value=request.getParameter(para);
// if(value!=null)
//{
// sql="delete from news where id="+i;
//smt.executeUpdate(sql);
// }
//}
//sql="alter table news drop id";
//smt.executeUpdate(sql);
//sql="alter table news add id int auto_increment primary key";
//smt.executeUpdate(sql);
//response.sendRedirect
//("manager.jsp");//%>
</html>
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /delete.jsp(3,16) 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:194)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:144)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:157)
org.apache.jasper.compiler.ParserController.getPageEncodingForJspSyntax(ParserController.java:435)
org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:378)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:170)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
manager.jsp代码:
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>
<%@page contentType="text/html;charset=UTF-8"%>
<%@include file="opendata.jsp"%>
<html>
<title>新闻发布</title>
<body>
<%
int count=0,lastp,numf,numl,prep,nextp,pageno;
if(request.getParameter("pageno")==null)
{
pageno=0;
}
else
pageno=Integer.parseInt(request.getParameter("pageno"));
sql="select * from news";
rs=smt.executeQuery(sql);
while(rs.next())
count++;
lastp=(int)Math.ceil((double)count/5);
if(pageno==0||pageno>lastp)
pageno=lastp;
numf=pageno*5-4;
numl=numf+4;
if(pageno==1)
prep=1;
else
prep=pageno-1;
if(pageno==lastp)
nextp=lastp;
else
nextp=pageno+1;
sql="select * from news where id between "+numf+" and "+numl;
rs=smt.executeQuery(sql);
%>
<font size=7 color=green>专家留言板 </font>
<font color=#008080>站长使用画面</font>
<hr>
<center>
<form action=board.jsp method=POST>
<table boder=0>
<tr>
<td>目前的页次:<font size=2 color=red><%=pageno%></font>/<font color=blue><%=lastp%></font></td>
<td><a href=manager.jsp?pageno=<%=prep%>>[上一页]</a></td>
<td><a href=manager.jsp?pageno=<%=nextp%>>[下一页]</a></td>
<td><a href=manager.jsp?pageno=1>[第一页]</a></td>
<td><a href=manager.jsp>[最后一页]</a></td>
<td>输入页次<input type=text size=3 name=pageno></td>
<td><input type=submit name=SEND value=送出></td>
<td><a href=password.jsp><font color=red size="5">
<i>站长钻用</i></font></a></td> </tr>
</table>
</form>
<form action=delete.jsp?pageno=<%=pageno%> method=POST>
<%
String subject,time,memo;
int id;
while(rs.next())
{
subject=rs.getString(1);
time=rs.getString(2);
memo=rs.getString(3);
id=rs.getInt(4);
out.print("<p align=left><input type=checkbox name=D"+id+"value=del>删除第<font color=red>"+id+"</font>");
out.print("<center>");
out.print("<table border=1>");
// out.print("<tr><td bgcolor=yellow>时间</td><td>"+time+"</td></tr>");
out.print("<tr><td bgcolor=yellow>主题</td><td>"+subject+"</td></tr>");
out.print("<tr><td valign=top bgcolor=yellow>留言</td><td>"+memo+"</td></tr>");
out.print("</table></p>");
}
%>
<input type=submit name=SEND value=确定删除>
<input type=reset value=重新选取>
</form>
<hr>
<center>
<a href=message.html>我要留言</a>
<a href=manager.jsp>查看留言</a>
</body>
</html>
delete.jsp代码如下:<%@page import="java.sql*"%>
<%@page import="java.util*"%>
<%@page include file="opendata.jsp"%>
<%@page contentType="text/html;charset=UTF-8"%>
<html>
//<%
//String para,value;
//int pageno,numf,numl;
//if(request.getParameter("pageno")==null)
//pageno=0;
//else
//pageno=Integer.parseInt(request.getParameter("pageno"));
//OUT.PRINT(pageno);//numf=pageno*5-4;
//numl=numf+4;
//for(int i=numf;i<=numl;i++)
//{
// para="D"+String.valueOf(i);
// value=request.getParameter(para);
// if(value!=null)
//{
// sql="delete from news where id="+i;
//smt.executeUpdate(sql);
// }
//}
//sql="alter table news drop id";
//smt.executeUpdate(sql);
//sql="alter table news add id int auto_increment primary key";
//smt.executeUpdate(sql);
//response.sendRedirect
//("manager.jsp");//%>
</html>
建议你用一个页面跳转,再在servlet里跳到delete.jsp页面,免得这个页面<%%>太多,也不美观,不好维护。
<%@page include file="opendata.jsp"%>
你再检查下
//String para,value;
//int pageno,numf,numl;
//if(request.getParameter("pageno")==null)
//pageno=0;
//else
//pageno=Integer.parseInt(request.getParameter("pageno"));
//OUT.PRINT(pageno);//numf=pageno*5-4;
//numl=numf+4;
//for(int i=numf;i <=numl;i++)
//{
// para="D"+String.valueOf(i);
// value=request.getParameter(para);
// if(value!=null)
//{
// sql="delete from news where id="+i;
//smt.executeUpdate(sql);
// }
//}
//sql="alter table news drop id";
//smt.executeUpdate(sql);
//sql="alter table news add id int auto_increment primary key";
//smt.executeUpdate(sql);
//response.sendRedirect
//("manager.jsp");
最好在循环语句中将sql输出来,看是否想要的sql语句
sql="delete from news where id="+i;
System.out.println(sql);
太乱了呀
不能在jsp里面定义int ,改为var,看看试下