web程序常见错误及解决方法
Posted 莫违i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web程序常见错误及解决方法相关的知识,希望对你有一定的参考价值。
404错误产生原因及解决方法
在刚开始进行Web应用开发的时候,经常看见页面出现404这个数字,我们一般会称之为运行产生了404错误。类似于404这个数字,还有可能在页面上看到405、500这两个数字,他们都是服务器执行完客户端的请求以后,返回给客户端的一个关于执行结果的状态编码说明。 如果在运行结果页面中没有看到期待的页面,却看到了404、405、500这样的数字,那么代表着服务器告诉客户端运行产生了错误,掌握何种错误情况产生对应的数字将有利于问题的解决。
404产生的原因为Web服务器(容器)根据请求地址找不到对应资源,以下情况都会出现404的错误提示:
输入的地址有误(应用名大小写不正确,名称拼写不正确)
在web.xml文件中和中的两个不一致
没有将工程部署到Tomcat的webapps下面
Web工程部署时的结构没有遵循Servlet的规范
具体的解决办法就是根据上面提到的4种情况,逐条进行检查。
容器如何找到service()方法
当在浏览器中输入 http://localhost:8080/firstweb/sayHi 这个地址后,容器是如何找到 HelloServlet.class这个文件并执行的呢?
首先容器会根据firstweb这个应用名找到位于webapps下面对应的文件夹,然后根据地址中的“/sayHi”到web.xml文件中寻找与之匹配的节点,找到匹配的节点后会找到与该节点紧邻的节点,获取名称并在此寻找与该名称相等的节点,找到相等的节点后,搜寻该节点下面紧邻的节点,于是获取到了与该地址相对应的类名,借助于ClassLoader加载该类文件,创建对象并调用service()方法,客户端即看到了与该地址匹配的运行结果。
405错误产生原因及解决方法
405这个错误的产生原因是容器找不到service方法来处理请求。以下情况容器都将视为没有找到service()方法
service方法名写错,字母顺序不对或大小写错误
service方法参数类型与标准不一致,或参数顺序与标准不一致。一定是先HttpServletRequest,然后是HttpServletResponse类型
service方法异常、返回值类型与标准不一致,一定是抛出ServletException、IOException。返回值类型是void。
解决405错误的方法即检查service方法是否存在,签名(方法名、参数、返回值、异常类型)是否与覆盖的父类中的方法一致。
500错误产生原因及解决方法
500的错误原因是请求的Servlet在执行service方法的过程中出现了错误,程序不能继续运行了。以下情况容器都将视为500的一种情况,而返回给客户端这个错误说明。
Servlet没有继承HttpServlet或实现Servlet接口
web.xml文件中的写错,与真正的包名类名不符
service方法中的代码运行时抛出异常
解决500的方法为依据上面三种情况依次进行检测,逐条排除。
以上是关于web程序常见错误及解决方法的主要内容,如果未能解决你的问题,请参考以下文章