新手遇见的问题~!~高手快来帮忙吧 谢谢了
做了个简单的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>