新手遇见的问题~!~高手快来帮忙吧 谢谢了

marydan 2006-04-06 02:54:33
做了个简单的JSP,是对数据库进行插入操作的。list.jsp是显示页面 连接到insert.jsp页面 insert.jsp页面action到query.jsp页面 在query.jsp里进行插入操作。在query.jsp里面插入数据能反映在数据库里。在list.jsp里也能反映出来。但是不能自动跳转到list.jsp总报500错误。而且在query.jsp里面的response.sendRedirect("err.jsp");语句也没有发挥应有的作用。不知道是为什么。高手快来帮着看看吧~·~谢谢了~~~!!~~
query.jsp代码如下:

<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>插入数据</title>
</head>
<body>
<%! String xuehao,name,sex,age,jiguan,department,url,sql; %>
<%! int i;%>
<%! Connection conn;//定义数据库连接对象 %>
<%! ResultSet rs;//定义结果集对象 %>
<%! Statement stmt;//定义SQL语句对象 %>
<%
xuehao=request.getParameter("xuehao").trim();
name=request.getParameter("name").trim();
name=new String(name.getBytes("ISO-8859-1"));//编码转换
sex=request.getParameter("sex").trim();
sex=new String(sex.getBytes("ISO-8859-1"));
age=request.getParameter("age").trim();
i=Integer.parseInt(age);
jiguan=request.getParameter("jiguan").trim();
jiguan=new String(jiguan.getBytes("ISO-8859-1"));
department=request.getParameter("department").trim();
department=new String(department.getBytes("ISO-8859-1"));

if(xuehao.length()!=3){//检查学号的位数
response.sendRedirect("err.jsp");
}

if(name.equals("")){//检查姓名是否为空
response.sendRedirect("err.jsp");
}

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
url="jdbc:odbc:sun";
conn=DriverManager.getConnection(url,"","");//建立与数据库的连接
stmt=conn.createStatement();
sql="select * from student where xuehao="+" ' "+xuehao+" ' ";

rs=stmt.executeQuery(sql);
if(rs.getRow()>0){
response.sendRedirect("err.jsp");
}

sql="insert into student(xuehao,name,sex,age,jiguan,dept)";

sql=sql+"values('"+xuehao+"','"+name+"','"+sex+"','"+i+"','"+jiguan+"','"+department+"')";

stmt.executeUpdate(sql);
out.println("<font size=3 color=blue>正在处理信息,请稍后......</font><meta http-equiv='refresh' content='2;url=list.jsp'>");
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){
response.sendRedirect("err.jsp");
}
%>
</body>
</html>
...全文
220 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zx2002027 2006-04-06
  • 打赏
  • 举报
回复
response.sendRedirect("err.jsp");
后面不能再有输出内容,所以在 response.sendRedirect("err.jsp");
后面要加上retrun;
rongdajian 2006-04-06
  • 打赏
  • 举报
回复
你再检查一下你的代码有没有错!
我也没有看出什么名堂呢!只是还是用那个<jsp:forward page = "err.jsp" />
这样可能要好一点!
marydan 2006-04-06
  • 打赏
  • 举报
回复
还是弄不出来~!~
大家快来帮帮忙吧
tanjingbool 2006-04-06
  • 打赏
  • 举报
回复
可能和
org.apache.coyote.tomcat5.CoyoteResponseFacade.sendRedirect
找到编译后的java文件,看(query_jsp.java:110)
应该就明白了
cs_winner 2006-04-06
  • 打赏
  • 举报
回复
别用response啦,用<jsp:forward page="err.jsp"/>
marydan 2006-04-06
  • 打赏
  • 举报
回复
楼上的大侠 能说明白点吗~!~
我该怎么做呀
谢谢了
tanjingbool 2006-04-06
  • 打赏
  • 举报
回复
org.apache.jsp.admin.query_jsp._jspService(query_jsp.java:110)
Check Log
marydan 2006-04-06
  • 打赏
  • 举报
回复
运行是500错误

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.IllegalStateException
org.apache.coyote.tomcat5.CoyoteResponseFacade.sendRedirect(CoyoteResponseFacade.java:352)
org.apache.jsp.admin.query_jsp._jspService(query_jsp.java:110)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.


81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧