读书人

新人Servlet 404异常

发布时间: 2012-12-19 14:13:15 作者: rapoo

新人求助Servlet 404错误
最近新学java,学到Servlet这里卡住了。直接说正题:
1 在apache-tomcat5.5.27 软件的webapp里建立应用目录ch1;
2 ch1里再建立ch1(这个ch1里建立WEB-INF等目录),然后随便copy了个Servlet程序放到
apache-tomcat5.5.27 软件目录\ch1\ch1\WEB-INF\classes里(HelloServlet.class)
3 配置apache-tomcat5.5.27 软件目录\ch1\ch1\WEB-INF\web.xml
如下,只粘贴映射那几行:
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloServlet</servlet-class> --->没有包
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>

然后startup服务器,
http://localhost:8080/ch1/ch1/HelloServlet
或者
http://localhost:8080/ch1/HelloServlet
都无法访问
---
HTTP Status 404 - /ch1/HelloServlet

--------------------------------------------

type Status report

message /ch1/HelloServlet

description The requested resource (/ch1/HelloServlet) is not available.

新手一枚,请各位大侠赐教,谢谢!
[最优解释]
没有包,但应该有类名啊,否则tomcat找不到。
[其他解释]
404就是找不着页面
[其他解释]
去找个具体的例子学习下吧
[其他解释]
404是找到不页面,看配置路径是否正确!
[其他解释]
看看配置web.xml时是不是忘了最后一行</web-app>
[其他解释]
路径有问题,仔细观察!
[其他解释]
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)

servlet的java代码有错吧




[其他解释]
404错误就是页面的路径找不到,你在查找一下路径、。
[其他解释]
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloServlet</servlet-class> --没有打包,直接用的编译后的class 名
</servlet>

[其他解释]
就是按例子做的 所以不清楚为什么有问题 不知道会不会tomcat软件有问题
[其他解释]
根据例子看 应该配置没问题
apache-tomcat 软件目录
d:\apache-tomcat 5.5.27
WEB程序目录:d:\apache-tomcat 5.5.27\webapp\ch1

servlet编译后的class文件路径:
d:\apache-tomcat 5.5.27\webapp\ch1\ch1\WEB-INF\classes\HelloServlet.class

web.xml:
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloServlet</servlet-class> --->裸体类
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>

根据例子配置的 我看不出问题 如果随便放一个jsp文件到
d:\apache-tomcat 5.5.27\webapp\ch1\ch1里 都可以访问这个jsp文件的
[其他解释]
已经检查 没有遗漏</web-app>
要泪奔了都
------其他解决方案--------------------


看了下路径 我看不出哪里有问题 另外看了下tomcat logs里的日志 有个localhost.2012-12-06 里有报错信息,知道是不是跟这个有关
2012-12-6 0:59:21 org.apache.catalina.core.StandardContext listenerStart
严重: Error configuring application listener of class listeners.ContextListener
java.lang.ClassNotFoundException: listeners.ContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3712)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2012-12-6 0:59:21 org.apache.catalina.core.StandardContext listenerStart
严重: Error configuring application listener of class listeners.SessionListener
java.lang.ClassNotFoundException: listeners.SessionListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3712)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
[其他解释]
re 12楼的朋友
代码应该没错
[其他解释]
首先感谢各位的回复
原先目录结构是tomcat-apache\ch1\ch1\........
我把第二层ch1去掉后,把里面的WEB-INF东西都拷贝到1级ch1下,就可以了
但是不明白为什么,2级ch1是myeclipse自动生成的

读书人网 >Java Web开发

热点推荐