jsp注册新用户时,报错,哪位帮忙看一下???
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.IllegalStateException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:532)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:420)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.IllegalStateException
org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
org.apache.jsp.WebContent.register_005fnew_005fuser_jsp._jspService(register_005fnew_005fuser_jsp.java:116)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.

解决方案 »

  1.   

    org.apache.jsp.WebContent.register_005fnew_005fuser_jsp._jspService(register_005fnew_005fuser_jsp.java:116) 去 tomcat/work 
    子目录下面找到这个register_005fnew_005fuser_jsp.java看看第116行为何为null
      

  2.   

    把页面缓存改大些试试,应该是 sendRedirect 时响应已经被提交了(响应数据已经开始向客户端发送了)。
      

  3.   

    register_005fnew_005fuser_jsp.java里的内容是 package org.apache.jsp.WebContent;import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    import java.sql.*;public final class register_005fnew_005fuser_jsp extends org.apache.jasper.runtime.HttpJspBase
        implements org.apache.jasper.runtime.JspSourceDependent {  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();  private static java.util.List _jspx_dependants;  private javax.el.ExpressionFactory _el_expressionfactory;
      private org.apache.AnnotationProcessor _jsp_annotationprocessor;  public Object getDependants() {
        return _jspx_dependants;
      }  public void _jspInit() {
        _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
        _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
      }  public void _jspDestroy() {
      }  public void _jspService(HttpServletRequest request, HttpServletResponse response)
            throws java.io.IOException, ServletException {    PageContext pageContext = null;
        HttpSession session = null;
        ServletContext application = null;
        ServletConfig config = null;
        JspWriter out = null;
        Object page = this;
        JspWriter _jspx_out = null;
        PageContext _jspx_page_context = null;
        try {
          response.setContentType("text/html;charset=gbk");
          pageContext = _jspxFactory.getPageContext(this, request, response,
           null, true, 8192, true);
          _jspx_page_context = pageContext;
          application = pageContext.getServletContext();
          config = pageContext.getServletConfig();
          session = pageContext.getSession();
          out = pageContext.getOut();
          _jspx_out = out;      out.write("\r\n");
          out.write("\r\n");    //设置提交表单的中文编码
        request.setCharacterEncoding("GBK");    //获取用户输入表单
        String sUsername, sPassword, sRealname;
        sUsername=request.getParameter("username");
        sUsername=sUsername.replaceAll("'","''");
        sPassword=request.getParameter("password");
        sPassword=sPassword.replaceAll("'","''");
        sRealname=request.getParameter("realname");
        sRealname=sRealname.replaceAll("'","''");
        //准备插入语句
        String insertquery = "insert into player_info set username = '" + sUsername
                           + "', password = '" + sPassword 
                           + "', realname = '" + sRealname + "'";
        //检查用户是否存在语句
        String selectquery = "select * from player_info where username = '" + sUsername +"'";
        
        Connection conn=null;
        Statement stmt=null;
        ResultSet rs=null;
        try
        {
            //获得数据库链接
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection("jdbc:mysql://localhost/ch02?user=jspdb&password=jspdb");  
            //创建statement
            stmt = conn.createStatement();
            rs = stmt.executeQuery(selectquery);
            //查看是否已经有了用户
            if (rs.next()) 
            {
                response.sendRedirect("register.htm");
                return;
            }
            else
            {       
                //创建新用户
                stmt.executeUpdate(insertquery);
            }
        }catch(SQLException ex)
        {
            ex.printStackTrace();
            response.sendRedirect("welcom.htm");
        }
        finally
        {
            //关闭数据库链接
            if(stmt!=null) 
              stmt.close(); 
          if(conn!=null) 
            conn.close();     }
        //设置session属性
        session.setAttribute("username", sUsername);
        session.setAttribute("realname", sRealname);   
        
        //注册成功即意味着登录成功,迁移到游戏选择画面
        response.sendRedirect("entry.jsp");        out.write('\r');
          out.write('\n');
        } catch (Throwable t) {
          if (!(t instanceof SkipPageException)){
            out = _jspx_out;
            if (out != null && out.getBufferSize() != 0)
              try { out.clearBuffer(); } catch (java.io.IOException e) {}
            if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
          }
        } finally {
          _jspxFactory.releasePageContext(_jspx_page_context);
        }
      }
      

  4.   

        //注册成功即意味着登录成功,迁移到游戏选择画面 
        response.sendRedirect("entry.jsp");        out.write('\r'); 
          out.write('\n'); 

    红色部分有问题吧,你都跳转页面了还输出,试一下,是不是这里有问题????