type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
root cause java.lang.NoClassDefFoundError: servlet/jspservlet/TestHelloWorld (wrong name: jspservlet/TestHelloWorld)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1817)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
大家帮帮忙,我是JSP初学者,这是什么原因造成的?忘大家帮忙解决下,感激不尽!如果要web.xml源代码我可以发上来!

解决方案 »

  1.   

    web.xml. 还有你的servlet/jspservlet/TestHelloWorld 这个类的名字粘上来吧.
      

  2.   

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>My Web Application</display-name>
    <description>
    A application for test.
    </description>
     <servlet>
          <servlet-name>TestHelloWorld</servlet-name>
          <servlet-class>servlet.jspservlet.TestHelloWorld</servlet-class>
        </servlet>
     <servlet-mapping>
            <servlet-name>TestHelloWorld</servlet-name>
            <url-pattern>/servlet/jspservlet/TestHelloWorld</url-pattern>
        </servlet-mapping>
    </web-app>
    上面是web.xml的源代码
    类名当然就是TestHelloWorld
      

  3.   

    看看代码吧..比较好懂的...
    package selfimpr.oa.web;import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test4 { /**
     * @param args
     */
    public static void main(String[] args) {
    String str = "张三李e李";
    int count = 3;
    System.err.println(intercept(str, count, false));
    } /**
     * 截取字符串
     * @param str 要截取的目标字符串
     * @param count 要截取的长度
     * @param isShed 当截取的末尾是汉字的一个字节时, 是否舍去这一位. true表示舍去末尾位, false表示多补一位.
     * @return
     */
    public static String intercept(String str, int count, boolean isShed) {
    StringBuilder result = new StringBuilder();
    Pattern p1 = Pattern.compile(".");
    Matcher m1 = p1.matcher(str);
    int temp = count - (isShed ? 1 : 0);
    //int temp = count - 1; 此时最后一位所在为汉字, 导致要截断汉字时, 舍去最后一位.
    //int temp = count; 此时最后一位所在为汉字, 导致要截断汉字时, 多取一位, 得到一个整字.
    while(m1.find() && temp > 0) {
    result.append(m1.group());
    temp -= m1.group().getBytes().length;
    }
    return result.toString();
    }}
      

  4.   

    这么多字你都会发错!I服了you!
      

  5.   

    java.lang.NoClassDefFoundError: servlet/jspservlet/TestHelloWorld (wrong name: jspservlet/TestHelloWorld) 
    jvm没有找到你配到xml中的这个类:servlet.jspservlet.TestHelloWorld, 你再和你的类名对一下, 包名也不能错的...