继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

冲哥_
关注TA
已关注
手记 1
粉丝 6
获赞 1

https://img.mukewang.com/5bcabc340001f72110270456.jpg

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

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

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

https://img.mukewang.com/5bcabddd0001196d10460032.jpg

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

https://img1.mukewang.com/5bcabe420001c31103590029.jpg

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

https://img3.mukewang.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://img2.mukewang.com/5bdaf8d00001c7fe04560358.jpg


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

https://img2.mukewang.com/5bdaf9110001976310230473.jpg

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

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

更改之后:

https://img3.mukewang.com/5bdafb360001e75e09780566.jpg

(第三次更新2018.11.2)

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

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

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

(第三次更新2019.12.4)

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


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP