action="/servlet/readUrl"不要带java

解决方案 »

  1.   

    不好意思刚才写错了:
    三个action 分别是
    action="/servlet/readUrl"
    action="/servlet/HelloWorldServlet"
    action="/servlet/test"
      

  2.   

    首先检查几个servlet的名字和配置文件中是不是一致,java是区分大小写的
    如果一致还是出错的话,那么是不是在web.xml的配置文件在更改后没有重启tomcat
    配置文件在更改后一定要重启tomcat才行的
      

  3.   

    javax.servlet.ServletException: Error instantiating servlet class readUrl
           at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:895)
           at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
           at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
           at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
           at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    readUrl初始化错误。要不把这个servlet贴出来看看
      

  4.   

    class readUrl extends HttpServlet
    {
    static final private String CONTENT_TYPE = "text/html; charset=GBK";
    private DocumentBuilderFactory dbf;
    private DocumentBuilder db;
    private Document doc;
    public void init() throws ServletException 
    {
    }
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
    doPost(request,response);
    }
    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Servlet1</title></head>");
    out.println("<body>");

    out.println("<p>ecvet</p>");
    out.println("</body></html>");
    }
    //Clean up resources
    public void destroy() 
    {
    }}  
    servlet 很简单,问题是HelloWorldServlet运行正常,readUrl不正常
      

  5.   

    Servlet命名错误
    不可以用readUrl来命名servlet
    换一个其他名字
    究其原因么
    我个人认为可能是因为你所import进的包的类中已经有了readUrl()这个方法
    所以不可以重名
      

  6.   

    不好意思,刚才自己也糊涂了
    用readUrl试可以的
    我这里全部正常
      

  7.   

    public class readUrl extends HttpServlet
    {
    static final private String CONTENT_TYPE = "text/html; charset=GBK";
    private DocumentBuilderFactory dbf;
    private DocumentBuilder db;
    private Document doc;
    public void init() throws ServletException 
    {
    }
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
    doPost(request,response);
    }
    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Servlet1</title></head>");
    out.println("<body>");

    out.println("<p>ecvet</p>");
    out.println("</body></html>");
    }
    //Clean up resources
    public void destroy() 
    {
    }}  你忘了写public,而且按照习惯写法,通常会将doPost()写成这样
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
    doGet(request,response);
    }
    doGet就像你写的doPost一样。
      

  8.   

    你忘了写public,而且按照习惯写法,通常会将doPost()写成这样
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
    doGet(request,response);
    }
    doGet就像你写的doPost一样。
      

  9.   

    你的关键字冲突了,改成下面的就没问题了。import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;public class readUrl extends HttpServlet
    {
    static final private String CONTENT_TYPE = "text/html; charset=GBK";
    // private DocumentBuilderFactory dbf;
    // private DocumentBuilder db;
    // private Document doc;

    public void init() throws ServletException 
    {
    }

    //Process the HTTP Get request
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
    {
    doPost(req,resp);
    }
    //Process the HTTP Post request
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
    {
    resp.setContentType(CONTENT_TYPE);
    PrintWriter out = resp.getWriter();
    out.println("<html>");
    out.println("<head><title>Servlet1</title></head>");
    out.println("<body>");
    out.println("<p>ecvet</p>");
    out.println("</body></html>");
    }
    //Clean up resources
    public void destroy() 
    {
    }}  
      

  10.   


    我脑子也被你搞糊涂了
    自己调试了一遍终于知道你错在哪里了类名声明的时候错了
    要声明readUrl类为public
    class readUrl extends HttpServlet
    改为:
    public class readUrl extends HttpServlet
    就可以了
    原因是如果不声明访问类型,则默认为private

    所以根本无法访问到
    呵呵
      

  11.   

    你继承了一个public类,需要加上关键字public,上面的代吗我直接放到weblogic6.1下可以正常运行。
      

  12.   

    不声明类型报错:
    The server encountered an internal error () that prevented it from fulfilling this request.javax.servlet.ServletException: Error instantiating servlet class readUrl
    //产生异常,实例化Servlet类readUrl时错误java.lang.IllegalAccessException: Class org.apache.catalina.core.StandardWrapper can not access a member of class readUrl with modifiers ""
    //产生无法访问异常