首页 > 代码库 > web程序常见错误及解决方法

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程序常见错误及解决方法