<%
String password=(String)request.getParameter("password");//得到注册页传来的密码
String repassword=(String)request.getParameter("repassword");//得到注册页传来的确认密码
if(!password.equals(repassword)){
response.sendRedirect("error.jsp");
}
String name=(String)request.getParameter("username");//得到注册页传来的用户名
String sex=(String)request.getParameter("sex");//得到注册页传来的性别
String work=(String)request.getParameter("work");//得到注册页传来的职员String loves[]=(String[])request.getParameterValues("love");
String strlove="";
if(loves!=null){
for(int i=0;i<loves.length;i++){
out.print("个人爱好");
out.println(loves[i]+".");
strlove=strlove+loves[i]+"、";
}
}String show=(String)request.getParameter("show");//得到注册页传来的个人说明
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu";
String na="sa";
String pwd="sa";
Connection conn=DriverManager.getConnection(url,na,pwd);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="insert into users(username,password,sex,work,love,shows)values('"+name+"','"+password+"','"+sex+"','"+work+"','"+strlove+"','"+show+"' )";
stmt.execute(sql);stmt.close();
conn.close();
response.sendRedirect("success.jsp");
%>其他的都没有问题就是在当password和repassword的值输入不一样是,返回不到error.jsp页面,报错,高手指教org.apache.jasper.JasperException: Exception in JSP: /check.jsp:4542: 
43: stmt.close();
44: conn.close();
45: response.sendRedirect("success.jsp");
46: %>
47: <font size="4" color="blue">浣犳敞鍐岀殑淇℃伅</font>
48: 鐢ㄦ埛鍚嶏細<%=name %><br>

解决方案 »

  1.   

    你看看路径错了没有,用response.sendRedirect这是个按相对路径转向的。
      

  2.   

    check.jsp和error.jsp我放在了统一目录下,多谢
      

  3.   

    现在,出错成这个样了
    org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:367)
    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:729)
    root cause java.lang.IllegalStateException
    org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:433)
    org.apache.jsp.check_jsp._jspService(check_jsp.java:89)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    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:729)
      

  4.   

    咳~  if(!password.equals(repassword)){
        response.sendRedirect("error.jsp");
    } 加一句if(!password.equals(repassword)){
        response.sendRedirect("error.jsp");
        return ;

      

  5.   

    是这样的,我想知道,response.sendRedirect("success.jsp"); 也没有return啊,但可以回到success.jsp页面,而 response.sendRedirect("error.jsp");为什么要加return
      

  6.   

    我想请问楼主RETURN 是什么意思?
    你在一个方法的最后面写return跟不写return有区别么?
    但是你在方法的中间写return跟不写return没区别么?
    java.lang.IllegalStateException - If the response was committed or if a partial URL is given and cannot be converted into a valid URL
    当两次密码不一样时相当于执行了2次response.sendRedirect.