2020年12月15日Java学习日记
404问题
其实这个问题很简单。根本原因就是服务器找不到目标页面(或者说成找不到目web资源)而产生的。既然找不到资源,那么很大原因就是访问路径或者XML的配置的出了问题。解决办法我们就从这里入手。
第一个方法:检查表单的action属性中路径是否正确,是否有因为粗心而打错的字。
第二个方法:a标签中路径是否正确。
需要注意的是表单或a标签中的路径有时候应该加上你的basePath。
第三个方法:.XML是否配置正确
当然,既然有了错误,控制台一般也会报错。我们也要结合控制台给我们提供的报错信息进行针对性Debug.
比如:控制台有
ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Reg_log]]
或
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]]
很可能就是你已经选择了servlet的在XML中自动配置。而你又在XML配置了一遍,于是就会报错。
我们在编写Servlet的时候是选择创建Servlet文件如图:
所以创建后Servlet文件中会产生着样的一串代码:@WebServlet("/InitServlet")具体如下图:
这说明在XML文件中就不用再配置对应的Servlet文件了。可我们在XML中还是写了,所以就产生了上面控制台中的报错。更改之前的XML文件如图:
当我们把和两个标签删除之后就,程序就可以正常运行了