出错信息如下:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: abc.Test.save(Ljava/lang/String;Ljava/lang/String;)V
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:682)
org.apache.jsp.registry2_jsp._jspService(registry2_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:552)
org.apache.jsp.registry1_jsp._jspService(registry1_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
tw.com.javaworld.CH11.HelloFilter.doFilter(Unknown Source)
root cause java.lang.NoSuchMethodError: abc.Test.save(Ljava/lang/String;Ljava/lang/String;)V
org.apache.jsp.registry2_jsp._jspService(registry2_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:552)
org.apache.jsp.registry1_jsp._jspService(registry1_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
tw.com.javaworld.CH11.HelloFilter.doFilter(Unknown Source)
note The full stack trace of the root cause is available in the Tomcat logs.

解决方案 »

  1.   

    帮我顶也有分,谢谢了。请tutor666(小虫)留下联系方法,QQ或者邮箱
      

  2.   

    是不是test.save(name,user_password);中的name,user_password两个变量类型不是String?
      

  3.   

    你的类里面没有save方法,在jsp里面写错了吧~
      

  4.   

    String  sql  ="insert into test (name) values('"+username+"','"+password+"')";SQL语句也有问题  test (name)只有一个字段应该为 test (name,passwod)吧.
      

  5.   

    java.lang.NoSuchMethodError: abc.Test.save这句写的很明白~!
      

  6.   

    String  sql  ="insert into test (name) values('"+username+"','"+password+"')";
    应该是这句错了呀.少了个字段
      

  7.   

    to ningIII(小宁) 和 qiyongjun2003(风也悄悄):
    我把完整的JSP贴出来了,2个参数都是String的,而且save方法我写的是对的
    <%@ page import="java.sql.*" %>
    <%@ page contentType="text/html;charset=GB2312" %>
    <html>
    <head>
    <title>registry2</title>
    </head>
    <body>
    <form method=post action="registry2.jsp">
    <input name="user_password" type="password">
    <input name="confim" type="password">
    </form>
    <%
         String user_password = request.getParameter("user_password");
         String confim = request.getParameter("confim");
     String name = request.getParameter("name");
     if(user_password==confim) {
    %>
    <jsp:useBean id = "test" scope = "request" class = "abc.Test"/>
    <%  
         test.save(name,user_password);
    %>  
    <jsp:forward page="registry3.jsp"/>    
    <%
         }
         else out.println("输入密码和确认密码不同,重新输入.");
    %>
    </body>
    </html>
      

  8.   

    jialin_2004(老猫)说的对,掉了个字段,我加上去了,但是有出新的错了。我一共有3个JSP文件。第一个JSP文件是判断用户名是否被注册了,第2个JSP是输入密码的,第3个是打印注册成功。registry1.jsp
    <HTML>
    <HEAD>
    <TITLE>registry1</TITLE>
    </HEAD>
    <BODY>
    <FORM METHOD=POST ACTION="registry1.jsp">
    姓名:<input name="name" type="text">
    <input type="submit" value="提交">
    <jsp:useBeanid="test"scope="request"class="abc.Test"/>
    <%
         String name=request.getParameter("name");
     if(name!=null) {
     boolean b=test.ch(name);
     if(b==true){
     out.println("该用户名已被注册,请换个名");
     }
     else{
    %>
    <jsp:forward page="registry2.jsp"/>
    <%
     }
     }
    %>
    </FORM>
    </BODY>
    </HTML>registry3.jsp
    <%@ page import="java.sql.*" %>
    <%@ page contentType="text/html;charset=GB2312" %>
    <html>
    <head>
    <title>registry3</title>
    </head>
    <body>
    <%  
     out.println("注册成功");
    %>
    </body>
    </html>现在的问题是我一运行registry1.jsp就会跳到registry3.jsp,registry2.jsp根本就没显示,请大家再帮帮我。高分感谢。
      

  9.   

    registry2.jsp虽然没显示,但是我看了数据库,用户名写进去了密码是null
      

  10.   

    String  sql  ="insert into test (name) values('"+username+"','"+password+"')";向test表中插入两个参数!!!!!!你写的不对吧!!是不是应该这样???String  sql  ="insert into test (name,password) values('"+username+"','"+password+"')";
      

  11.   

    if(user_password==confim)改成if(user_password.equals(confim))
      

  12.   

    我SQL语句是掉了个字段,现在改了,但是还是有错,请看上面
      

  13.   

    to qiyongjun2003(风也悄悄) ( ):
    按你方法改了,还是报错,错误如下:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:367)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:552)
    org.apache.jsp.registry1_jsp._jspService(registry1_jsp.java:75)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    tw.com.javaworld.CH11.HelloFilter.doFilter(Unknown Source)
    root cause java.lang.NullPointerException
    org.apache.jsp.registry2_jsp._jspService(registry2_jsp.java:57)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:552)
    org.apache.jsp.registry1_jsp._jspService(registry1_jsp.java:75)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    tw.com.javaworld.CH11.HelloFilter.doFilter(Unknown Source)
    note The full stack trace of the root cause is available in the Tomcat logs.
      

  14.   

    if(name!=null||name.equals("")) {
     boolean b=test.ch(name);
     if(b){
     out.println("该用户名已被注册,请换个名");
     }
      

  15.   

    String  sql  ="insert into test (name) values('"+username+"','"+password+"')";
    这条语句中有错吧。应该是test(user,password)吧!再看看!
      

  16.   


    registry1.jsp 如下:
    <HTML>
    <HEAD>
    <TITLE>registry1</TITLE>
    </HEAD>
    <BODY>
    <FORM METHOD=POST ACTION="registry1.jsp">
    姓名:<input name="name" type="text">
    <input type="submit" value="提交">
    <jsp:useBeanid="test"scope="request"class="abc.Test"/>
    <%
         String name=request.getParameter("name");
     if(name!=null) {
     boolean b=test.ch(name);
     if(b==true){
     out.println("该用户名已被注册,请换个名");
     }
     else{
    %>
    <jsp:forward page="registry2.jsp">
    <jsp:param name="username" value="<%=name%>"/>
    </jsp:forward>
    <%
     }
     }
    %>
    </FORM>
    </BODY>
    </HTML>
      

  17.   

    registry2.jsp如下:
    <%@ page import="java.sql.*" %>
    <%@ page contentType="text/html;charset=GB2312" %>
    <html>
    <head>
    <title>registry2</title>
    </head>
    <body>
    <%   
         String user_password = request.getParameter("user_password");
         String name = request.getParameter("username");
         if(user_password !=null){
         String confim = request.getParameter("confim");  
     if(user_password.equals(confim)) {
    %>
    <jsp:useBean id = "test" scope = "request" class = "abc.Test"/>
    <%  
         test.save(name,user_password);
    %>  
    <jsp:forward page="registry3.jsp"/>    
    <%
         }
         else out.println("输入密码和确认密码不同,重新输入.");
    }
    %><form method=post action="registry2.jsp">
    <input name="user_password" type="password">
    <input name="confim" type="password">
    <input type="hidden" name="username" value="<%=name%>">
    <input type="submit" value="提交">
    </form>
    </body>
    </html>前提是你的bean正确的
      

  18.   

    tutor666(小虫)
    tutor666(小虫)
    tutor666(小虫)
    请你到http://community.csdn.net/Expert/topic/3468/3468960.xml?temp=.9865229这里来,还有你QQ没加我。谢谢了。
      

  19.   

    你registry2.jsp的代码呢?<jsp forward page="registry2.jsp"/>不能传递参数
      

  20.   

    问题出在逻辑判断上第一个页面跳转到第二个页面后,密码为null,然后向数据表中插入(name,null),成功插入数据,则跳转到第三个页面!所以在用户看来第二个页面没有执行!