为了账号安全,请及时绑定邮箱和手机立即绑定

java web中关于404问题解决方法

标签:
Java

https://img1.sycdn.imooc.com//5bcabc340001f72110270456.jpg

刚学习了java web 不久,然后对前端的知识也算有了一些了解。在学习的过程中总会遇到一些问题。在解决这些问题的同时,自己也增长了知识。比如今天要说的404解决办法就是在慕课学习的过程中得。

404问题是因为服务器找不到目标页面(或者说成找不到目web资源)而产生的。所以很可能是因为访问路径的原因引起服务器找不到目标页面。解决办法我们就从这里入手。

第一个方法:检查表单的action属性中路径是否正确,是否有因为粗心而打错的字。

https://img1.sycdn.imooc.com//5bcabddd0001196d10460032.jpg

第二个方法:a标签中路径是否正确。

https://img1.sycdn.imooc.com//5bcabe420001c31103590029.jpg

第三个方法:.XML是否配置正确

https://img1.sycdn.imooc.com//5bcabe840001c91d07630179.jpg

文章暂时先到这里,以后有了新的收获我会继续更新。同时也希望各位朋友给与指点。

(第二次更新2018.11.1)

自从上次第一次写手记之后,过了将近一个月。在404的错误上有仍然是无穷无尽(苦笑)。这次关于404错误的手记是对上次的拓展。正文如下:

这次依然是404错误,当错误产生后我按照前面的三个方法Debug.然而并没有发现任何错误。于是我开始查看控制台内容。(其实,第一次写的时候没有考虑控制台的内容,这应该是新手常常忽略的。)

严重: ContainerBase.addChild: start: 

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Reg_log]]

Caused by: java.lang.IllegalArgumentException: The servlets named [InitServlet] and [com.imooc.servlet.InitServlet] are both mapped to the url-pattern [/InitServlet] which is not permitted

十一月 01, 2018 8:35:19 下午 org.apache.catalina.startup.HostConfig deployDescriptor

严重: Error deploying configuration descriptor E:\java\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\Reg_log.xml

java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Reg_log]]

于是我拼命在网上查找这种错误原因。按网上的说法进行了查看,但是并没有起作用。但是我断定是一定是与XML有关。想到与XML相关就会联系到Servlet。于是我有查看了我自定义的那些Servlet.最后果然找到了错误。因为我在编写Servlet的时候是选择创建Servlet文件如图:

https://img1.sycdn.imooc.com//5bdaf8d00001c7fe04560358.jpg


所以创建后Servlet文件中会产生着样的一串代码:@WebServlet("/InitServlet")具体如下图:

https://img1.sycdn.imooc.com//5bdaf9110001976310230473.jpg

这说明在XML文件中就不用再配置对应的Servlet文件了。可是我在XML中还是写了,所以就产生了上面控制台中的报错。更改之前的XML文件如图:https://img1.sycdn.imooc.com//5bdaf9bf0001820f08930607.jpg

当我把<servlet>和<servlet-mapping>两个标签删除之后就,程序就可以正常运行了。

更改之后:

https://img1.sycdn.imooc.com//5bdafb360001e75e09780566.jpg

(第三次更新2018.11.2)

这次更新希望也是最后一次。

第一次更新说了404错误的检查,有表单的action属性、a标签中路径是否正确、.XML是否配置正确这些,其实还有对于重定向和转发的检查。

总之,发生404错误就两大点要注意的。第一,是项目中关于页面跳转的所有路径要检查正确与否。第二,是.XML文件是否配置正确。

(第三次更新2019.12.4)

还有两种情况导致404。tomcat与jdk版本不匹配和tomcat申请内存不足。具体问题具体分析,大家根据这两点自己网上百度下吧


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消