Servlet 练习
受阻
建了一个PROJECT:JEE
src下有个包:servlets
包下有俩servlet: PageRedirect.java, HelloWorld.java
我可以分别RUN这两个吗?我单独RUN PageRedirect.java, URL like this: http://localhost:8080/JEE/servlet/servlets.PageRedirect
我单击JEE RUN后,URL like this: http://localhost:8080/JEE/
郁闷的是,2者输途同归,结果都是:
HTTP Status 404
The requested resource is not available.
求解答,thank you!
------解决方案--------------------web.xml要配置这个severlet的映射才行。
------解决方案--------------------<servlet-class>
servlets.HelloWorld</servlet-class>
加上包名。
访问的时候
http://localhost:8080/JEE/HelloWorld
这样才行的。
------解决方案--------------------建servlet的时候不要建一个java类然后自己写class,直接建servlet,相应的xml配置自动就生成了。
假如不修改默认配置的话,url是http://localhost:8080/JEE/servlet/servlets/PageRedirect
假如你的web.xml有配置index目录
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
的话,那url:http://localhost:8080/JEE/直接跳转到index.jsp
貌似这个配置也是建servlet项目自动生成的,假如启动了项目还404,看看你是否发布了项目。
看你的文件名是PageRedirect和helloworld,是不是是一个response.sendRedirect()的练习跳转到HelloWorld.java????重定向用的是相对路径,查看你写的相对路径是否正确~
------解决方案--------------------servlet要继承HttpServlet,重写doget或dopost或service,并且要给servlet传参。
------解决方案--------------------如果项目启动本身就有错误, 你访问什么url都会是404. 这也是一种可能。
------解决方案--------------------肯定是使用了JNDI获取数据库连接,但是在Context.xml中没有配置<Resource/>导致的。如果不是那就要贴代码了
------解决方案--------------------http://localhost:8080/JEE/servlets/PageRedirect你配的url是/PageRedirect,偏偏要/servlets/PageRedirect?/servlets哪里来的?该加包名的地方不加。<servlet-class>
servlets.PageRedirect</servlet-class>
------解决方案--------------------