一.HttpServlet cannot be resolved to a type
在工程中,Servlet显示:HttpServlet cannot be resolved to a type。
原因:Eclipse中使用的HttpServlet类之所以识别不到的原因是没有导入Servlet-api.jar包
解决方案一
1、右键项目名称,进入properties进行配置
2、点击左边菜单里面的targeted Runtimes就可以看到tomcat没有进行勾选,这就是出现这个情况的根本原因。
3、勾选上tomcat,然后点击apply应用,然后点击OK
解决方案二
在需要导入的工程上右键进入properties,选择Java build path ,library选项卡中add external jars,选择你所安装tomcat目录下lib文件中的Servlet-api.jar包即可
二.Web应用中的字符乱码问题
①请求
[1]GET请求
(1)由于GET请求的请求参数是附着在URL地址后面的,所以需要通过在服务器端指定URL地址的解码字符集解决。方法:在Tomcat解压目录/conf目录/server.xml中,找到第一个connector标签,加入URIEncoding=”UTF-8″
[2]POST请求
由于POST请求的请求参数是在请求体中,所以需要在request对象获取请求参数之前,设置解码字符集:request.setCharacterEncoding(“UTF-8”);
②响应
指定响应数据的编码字符集,然后告诉浏览器使用什么字符集进行解码。
实现方式:response.setContentType(“text/html;charset=UTF-8”);
注意:不要在获取PrintWriter对象后再设置
三.无法打开jsp页面和无法加载css和js,字体等格式
1.路径有问题,或文件夹名称有问题,修改文件夹名称让tomcat重新加载就可以了。
2.web.xml配置有问题
3.浏览器缓冲问题,清理浏览器缓冲即可
四.出现404的错误提示
可能是输入的地址有误(应用名大小写不正确,名称拼写不正确) 在web.xml文件中<servlet>和<servlet-mapping>中的两个<servlet-name>不一致 没有将工程部署到Tomcat的webapps下面 Web工程部署时的结构没有遵循Servlet的规范 具体的解决办法就是根据上面提到的4种情况,逐条进行检查。
五.产生405错误
可能是service方法名写错,字母顺序不对或大小写错误 service方法参数类型与标准不一致,或参数顺序与标准不一致。一定是先HttpServletRequest,然后是HttpServletResponse类型 service方法异常、返回值类型与标准不一致,一定是抛出ServletException、IOException。返回值类型是void。 解决405错误的方法即检查service方法是否存在,签名(方法名、参数、返回值、异常类型)是否与覆盖的父类中的方法一致。
六.产生500错误
可能是Servlet没有继承HttpServlet或实现Servlet接口 web.xml文件中的<servlet-class>写错,与真正的包名类名不符 service方法中的代码运行时抛出异常 解决500的方法为依据上面三种情况依次进行检测,逐条排除。