最近又遇到了这种问题,百度了好久,发现有人说要在action的路径里面写Servlet文件的绝对路径,比如说,单独打开servlet的地址为http://localhost:8080/TomcatTest/LoginConfServlet,那么就在action里面写http://localhost:8080/TomcatTest/LoginConfServlet。
我尝试着将http://localhost:8080移除,只保留/TomcatTest/LoginConfServlet,还是可以成功的。
总结:jsp跳转到servlet的时候,路径设置为/项目名/Servlet名。Servlet中dispatcher跳转到jsp页面时,也要写上/文件夹名/jsp文件名。
图示:
之前遇到了一个问题,在博问中也有记载,最后自己摸索着突然就搞清楚了。
问题就是:新建的动态web项目,发布到tomcat之后,jsp可以单独访问,servlet可以单独访问,但是通过form表单跳转到servlet的类则出现404错误。
反复研究了很久也没发现解决方案,可能这是个最基础的设置吧,根本没有人解答。
通过学习,我发现最重要的一点就是servlet编译好之后生成的类,存放位置十分关键。
按照默认设置的话,类是存放在build/classes文件夹中的,
但是由于我们建立的jsp文件是存放在web-content文件夹中的,
所以jsp文件没法找到servlet生成的class文件。
解决方案就是在build path里面重新设置class的输出文件夹,放到web-inf文件夹下面的classes中,如果没有这个classes文件夹,则要自己新建一个。
其他关于tomcat设置就不在这里阐述了。