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的方法为依据上面三种情况依次进行检测,逐条排除。

时间: 2025-01-07 03:38:28

web程序常见错误及解决方法的相关文章

Win系统下用Eclipse中运行远程hadoop MapReduce程序常见错误及解决方法

一.Permission denied 1.Win系统下用Eclipse中运行远程hadoop MapReduce程序出现报错 org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=xxx, access=WRITE, inode="xxx":xxx:supergroup:rwxr-xr-x

WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

原文:WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭 在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于WCF服务的特殊性,调试起来也不是那么方便,因此往往会花费不少时间来进行跟踪处理.本文介绍我在我在我的框架里面使用WCF服务的时候,出现的一个常见错误的处理方法,它的提示信息是:基础连接已经关闭: 连接被意外关闭.这种情况我碰到的有两种,一种是返回DataTable的时候出现的,一种是返回实体类

SQLSERVER 备份还原常见错误以及解决方法

SQLSERVER 备份还原常见错误以及解决方法      个人在做测试的时候发现的常见问题,和一些解决方案,记录下来,以免遗忘! 错误一 解决方法: 先分离源数据库,然后你可以使用 move 属性 或者直接添加 REPLACE

telnet常见错误及其解决方法

telnet常见错误提示及解决方法 当出现以下问题时,即软件已安装.服务已经启动,查看23号端口却发现,没有此端口,解决方法如下:修改telnet服务配置文件. [[email protected] ~]# rpm -qa telnet* telnet-server-0.17-48.el6.x86_64 telnet-0.17-48.el6.x86_64 [[email protected] ~]# service xinetd start 正在启动 xinetd: [[email protec

Eclipse之NDK编译——常见错误的解决方法记录

在工程目录下的jni文件夹下编写的c/c++代码在编译时,通常会遇到如下的几种类型错误: 1.Unresolved inclusion:<XXX> 2.syntax error 3.Function 'XXX' could not be resolved 4.Type 'XXX' could not be resolved 5.Symbol 'XXX' could not be resolved 6.Method 'XXX' could not be resolved 7.Invalid ar

TensorFlow 常见错误与解决方法——长期不定时更新

1. TypeError: Cannot interpret feed_dict key as Tensor: Can not convert a builtin_function_or_method into a Tensor. 错误代码如下: _, summary, train_cost = sess.run([optimizer, merged, loss], feed_dict={ X: real_data, Y: real_label, is_training: True, iter:

jenkins 常见错误及解决方法整理

现象 WMI.WmiException:AccessDenied 解决方法: 以管理员身份运行 cmd 命令行 jenkins-slave install jenkins-slave start 参考: Windows安装nginx服务 原文地址:http://blog.51cto.com/shower/2156786

Oracle常见错误及解决方法

环境:LINUX下的oracle数据库10g ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏.如果是前者,使用数据库安装的用户oracle(这里oracle用户是指Linux用户,非oracle或者root的其他用户可能没有权限操作安装目录下的文件)进入Linux系统,然后: [[email protected] ~]$ lsnrctl status #查看监听器的状态[[email protected] ~]$ lsnrctl status #如果没有启动那就使用此

Ubuntu 常见错误及解决方法——长期不定时更新

1. 修复 /etc/sudoers 文件损坏导致不能使用 sudo 命令 这是之前错误地编辑了 /etc/sudoers 这个文件导致的,因此撤销编辑即可,但由于已经不能使用 sudo 命令,因此不能直接进行编辑. 在终端先进入 /etc 目录 输入 pkexec visudo 后,再输入用户密码,就可以对文件进行编辑 2. 更改 Ubuntu 和 win10 双系统启动顺序 终端运行 sudo gedit /etc/default/grub 将 GRUB_DEFAULT 的值修改为 Wind