麻烦各位高手帮我看一下,我的tomcat6.0测试通过是可以用的,在webapps下建立了myWebSite站点,WEB-INF里的classes和lib也建好了,但是就是无法运行servlet,服务器开启时没有显示打开这个myWebSite的web.xml,还出现了以下的错误,我在网上找了很久,也没有可行的答案,麻烦有经验的高手,帮帮忙,谢谢!HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Error instantiating servlet class com.yoin.Hello
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)
root cause java.lang.IllegalAccessException: Class org.apache.catalina.core.StandardWrapper can not access a member of class com.yoin.Hello with modifiers ""
sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

解决方案 »

  1.   

    Error instantiating servlet class com.yoin.Hello
    说明:class com.yoin.Hello这个servlet 类没有instantiating化。
    Class org.apache.catalina.core.StandardWrapper can not access a member of class com.yoin.Hello with modifiers 
    你的tomcat6下的classes下有编译后的class文件吗?
    //localhost:8080打开后,可以看到那个cat的图标吗?
      

  2.   

    我己经编译过了,.class文件也放在指定的包里面了,还打了SQL Server 2000 sp4的补丁,但还是不行。具体代码如果:
    package com.yoin;import javax.servlet.http.*;
    import java.io.*;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.sql.*;public class LoginCl extends HttpServlet{

    public void doGet(HttpServletRequest req, HttpServletResponse res) {
    Connection ct = null;
    Statement sm = null;
    ResultSet rs = null;


    try {
    String name = req.getParameter("username");
    String pow = req.getParameter("passwd");

    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

    ct= DriverManager.getConnection("jdbc:Microsoft:sqlserver://127.0.0.1:1433:databaseName=spdb","sa","");


    sm = ct.createStatement();

    rs = sm.executeQuery("select top 1 from users where username='" +name+ "' and passwd='"+pow+ "'");


    if(rs.next()){


    HttpSession hs = req.getSession(true);

    hs.setMaxInactiveInterval(60);
    hs.setAttribute("name",name);

    res.sendRedirect("wel");
    }
    else {
    res.sendRedirect("login");
    }

    }catch (Exception e) {
    e.printStackTrace();
    } finally {
    try {
    if(ct !=null){
    ct.close();
    }
    if(sm !=null) {
    sm.close();
    }
    if(rs !=null) {
    rs.close();
    }
    }catch(SQLException e) {
    e.printStackTrace();
    }
    }
    }

    public void doPost(HttpServletRequest req, HttpServletResponse res) {
    this.doGet(req,res);
    }
    }
      

  3.   

    tomcat里面的所有设置都正确,我都己经测试过了。
    不知道是不是SQL的用户原因导致的,我登陆的是sa用户,密码为空(网上说SQL会自己更改用户??)请高手指教,谢谢~~