以下是我个人的总结,一个小白的404记录,持更。
jsp的问题
1、跳转界面/取值对象名字错误 (粗心)
2、页面跳转与数据传递的问题
具体可以参考:传参遇到的400或404报错 一般不考虑EL表达式出错,因为EL表达式有个特点是:就算取值为空也不会报错,除非取不到对象(对象名写错了)。
java的问题
1、测试的打开方式不对
有时候写servlet、action类等java代码的时候,我们习惯在java类中直接写main方法测试,注意此时右键运行的是“java application”,如果运行的是"java server"则会报错404。(The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.)
2、粗心大意,名字写错了
如果是servlet类代码,则检查jsp中的action名和java中@WebServlet("/action名")是否匹配。
配置信息的问题
1、框架配置问题。
例如我使用的struts2框架,需要在项目一开始就配置web.xml、structs.xml信息。
每一次我配置完毕都会直接新建并运行一个很简单jsp或者html页面,如果显示界面报错404,大概率就是配置信息的xml文件出了问题。
2、导入项目的问题。
右键项目,找到“build path”然后在Libraries中将JRE配置成自己的版本或打开服务器。
地址或路径的问题
1、注意文件路径的编写。
"/"代表着根目录,有时候漏掉了可能就找不到我们放在根目录下的文件路径了。
2、注意运行地址是否正确
如果要进行jsp、java数据传递,一般是由jsp跳到java然后又跳回jsp界面。
测试阶段一定要注意,如果是java跳到jsp界面,例如java类的action名设置为了Test,跳转到regist.jsp。
则访问地址应该是:http://localhost:8080/项目名/Test
而不是:http://localhost:8080/项目名/regist.jsp
另外tips:在Jsp中进行调试的时候!调试中不要点击平时我们习惯的绿色按钮,点击旁边那个小虫子。
tomcat服务器最好重启为调试状态的,否则代码就算改对了,有时候也会出现缓存的延迟问题,继续报错 : ( ...