奇怪,我的servlet怎么访问不到?

时间:2021-08-03 15:51:58
D:\Tomcat 4.1\conf\server.xml的根目录配置如下:

<!-- Tomcat Root Context -->              
<Context path="" docBase="E:\J2EE\Web\" debug="0" />


我的servlet(Hello.class,包名为servlettest)文件存放路径为 E:\J2EE\Web\WEB-INF\classes\servlettest\Hello.class

我在地址栏里输入http://localhost:8080/,会显示该目录下的所有目录名和jsp文件

当我在地址栏里输入http://localhost:8080/servlet/servlettest.Hello 视图访问我的servlet文件时却出现404错误,也就是找不到servlet文件,请问这是怎么回事?该如何解决?

8 个解决方案

#1


你的servlet的url-pattern是怎么写的

#2


Web.xml

#3


在web.xml中没有设置servlet和servletMapping把

#4


楼上的能不说清楚点啊

#5


现在 tomcat 下载以后,对 /servlet/* 的解析默认没有开放,

因此需要打开 /conf/web.xml
将其中被注释掉的

    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

打开才能用。

#6


现在情况是这样的:

我把我的servlet文件放到了D:\Tomcat 4.1\webapps\examples\WEB-INF\classes\servlettest
下面,这样当我访问http://localhost:8080/examples/servlet/servlettest.Hello的时候,就可以正常访问到servlet.

我又新建了一个web服务目录,路径是E:\J2EE\webtest,(在D:\Tomcat 4.1\conf\server.xml中添加了<Context path="/webtest" docBase="E:\J2EE\webtest" debug="0" reloadable="true" crossContext="true"> ),现在我把servlet放到E:\J2EE\Web\WEB-INF\classes\servlettest 下,访问http://localhost:8080/webtest/servlet/servlettest.Hello ,却访问不到?


我已经打开了下面这段代码
<servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

#7


补充一下:
我把D:\Tomcat 4.1\webapps\examples\WEB-INF 下的web.xml复制到了
E:\J2EE\Web\WEB-INF 下面。

#8


问题还没解决
自己再顶一下

#1


你的servlet的url-pattern是怎么写的

#2


Web.xml

#3


在web.xml中没有设置servlet和servletMapping把

#4


楼上的能不说清楚点啊

#5


现在 tomcat 下载以后,对 /servlet/* 的解析默认没有开放,

因此需要打开 /conf/web.xml
将其中被注释掉的

    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

打开才能用。

#6


现在情况是这样的:

我把我的servlet文件放到了D:\Tomcat 4.1\webapps\examples\WEB-INF\classes\servlettest
下面,这样当我访问http://localhost:8080/examples/servlet/servlettest.Hello的时候,就可以正常访问到servlet.

我又新建了一个web服务目录,路径是E:\J2EE\webtest,(在D:\Tomcat 4.1\conf\server.xml中添加了<Context path="/webtest" docBase="E:\J2EE\webtest" debug="0" reloadable="true" crossContext="true"> ),现在我把servlet放到E:\J2EE\Web\WEB-INF\classes\servlettest 下,访问http://localhost:8080/webtest/servlet/servlettest.Hello ,却访问不到?


我已经打开了下面这段代码
<servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

#7


补充一下:
我把D:\Tomcat 4.1\webapps\examples\WEB-INF 下的web.xml复制到了
E:\J2EE\Web\WEB-INF 下面。

#8


问题还没解决
自己再顶一下