Servlet异常处理
1. 声明异常处理
声明两种错误处理:HTTP错误代码的处理 和 指定程序中产生的java异常的处理。
在web.xml文件中声明对各种异常的处理方法。
元素结构:
<error-page>
|____<error-code> or <exception-type>
|
|____<location>
<error-code>: 制定错误代码。
<exception-type>: 制定java异常类的完整限定名。
<location>: 给出用于响应HTTP错误代码或者Java异常的资源的路径。
HTTP异常的处理
利用web.xml静态设置错误响应
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Test My Servlet</display-name>
<description>
Test My Servlet
</description>
<error-page>
<error-code>404</error-code>
<location>/myjsp/error.html</location>
</error-page>
</web-app>
我测试发现不行!
我们也可以将error.html改为一个Servlet类来处理。
Servlet容器在请求对象中设置的属性
属性名字 属性类型 属性说明
javax.servlet.error.status_code: Integer HTTP协议的状态代码
javax.servlet.error.exception_type: Class 未捕获异常的Class类的对象
javax.servlet.error.message: String 传递给sendError()方法的消息
javax.servlet.error.exception: Throwable 调用错误页面的未捕获异常
javax.servlet.error.request_uri: String 当前请求的URI
javax.servlet.error.servlet_name: String 导致错误页面被调用的Servlet的名字
java程序中产生的异常处理
将上面web.xml的<error-code>改为<exception-type>后,输入类似:
<exception-type>java.io.FileNotFoundException</exception-type>
当文件找不到时捕获这个异常并通过<location>去调用处理。
最后,HttpServletResponse里面有HTTP协议所定义的web响应数字。
利用ServletRequest 的getRequestDispatcher()得到getRequestDispatcher对象,
调用forward()方法去调用另一个Servlet类。
分享到:
相关推荐
学习过程中经常遇见的异常集锦,大家不要错过啊,希望可以把到大家
"基于java Servlet编码/异常处理详解" 本文将详细介绍基于java Servlet编码和异常处理的相关知识点。 Servlet输出中文输出 在Servlet中输出中文时,可能会出现乱码问题。之所以会出现乱码,是因为浏览器会对表单...
综上所述,Java Web开发中的异常处理涉及多种策略,包括基础的try-catch-finally、Servlet的异常处理机制、Spring的全局异常处理器,以及Web.xml配置。而AOP技术则提供了更为灵活的异常处理手段,允许我们在不侵入...
- **Servlet异常处理**:理解服务器端异常处理机制,包括声明式和程序化两种方式。 7. **Web应用程序的结构与部署**: - **Web应用目录结构**:如WEB-INF目录的用途,`web.xml`的配置。 - **Servlet配置**:学习...
- ` ServletException` 和 `IOException`:Servlet在处理请求时,可能由于配置错误或网络问题抛出异常。开发者应该妥善捕获并处理这些异常,通常通过在`doGet`或`doPost`方法中使用`try-catch`块。 - 自定义错误...
7. **异常处理**:在处理用户请求时,Servlet可能会遇到各种异常,如网络问题、数据库错误等。我们需要适当地捕获和处理这些异常,确保系统稳定性,并向用户提供有用的反馈。 8. **会话管理**:对于用户登录状态的...
8. **异常处理**:为了保证系统的健壮性,开发者需要考虑错误和异常情况。Servlet可以通过try-catch语句捕获并处理可能出现的异常,提供友好的错误页面或提示信息。 9. **部署与运行**:这个项目需要部署在支持...
9. **异常处理**:在处理用户请求时,可能出现各种异常,项目中应包含适当的异常处理机制,以保证系统的健壮性。 10. **安全性**:考虑到考勤数据的敏感性,系统可能采用了基本的身份验证和授权机制,比如使用...
在实际应用中,系统难免会出现各种异常,这时就需要一套完善的异常处理机制来确保系统的稳定性和用户体验。本篇文章将详细探讨SpringMVC中的异常处理以及如何自定义异常处理器。 首先,SpringMVC默认提供了异常处理...
综上,Servlet 2.4 API文档是Java Web开发者的必备参考,它涵盖了Servlet的各个方面,包括核心接口、生命周期管理、会话跟踪、过滤器、异常处理等,为构建基于Java的Web应用程序提供了强大的支持。通过深入学习和...
然而,需要注意的是,如果异步任务抛出未捕获的异常,Servlet容器通常会将其记录并关闭异步上下文,因此必须对可能出现的异常进行适当处理。 总的来说,Servlet3的异步特性为Java Web开发带来了新的活力,让开发者...
6. **异常处理** 在Servlet中,可能会遇到各种运行时异常。为了提供良好的用户体验,我们需要适当地处理这些异常。可以通过`try-catch`语句块捕获异常,并在`catch`块中进行处理。 7. **性能优化** 为提高Servlet...
在实际项目中,可能还会涉及安全性(如HTTPS、CSRF令牌)、用户体验优化(如表单验证、记住密码功能)、异常处理、以及更复杂的认证和授权机制。对于初学者,理解这些基本概念是迈向Java Web开发的第一步。
通常,异常处理相关的类会放在`com.example.yourpackage.controller.advice`这样的包下,而配置文件如`applicationContext.xml`或`dispatcher-servlet.xml`可能包含Spring MVC的配置,包括异常处理器的注册。...
9. **异常处理**:课程可能涵盖了如何使用`throws ServletException, IOException`来处理Servlet中的异常,以及自定义错误页面。 10. **实战演练**:"myWebSite"这个文件可能是实际创建的Web项目,包含Servlet的源...
4. **错误处理**:考虑异常情况下的处理,如捕获并记录异常,或者提供合适的错误页面。 总的来说,异步Servlet是Java Web开发中的一个重要优化工具,它通过分离请求处理和响应生成,提高了系统的并发性和效率,特别...
4. **异常处理** 如果你在运行Java Web应用时遇到“找不到类”的异常,可能是因为`javax.servlet`包没有正确地包含在你的项目中。导入`javax.servlet.jar`后,确保你的IDE或构建工具已经更新了类路径,这样编译器和...
需要注意的是,处理文件上传时要考虑到文件大小限制、异常处理、安全性(防止恶意文件上传)等问题。 总之,`javax.servlet`和`commons-fileupload`这两个包是Java Web开发中处理文件上传不可或缺的工具,它们提供...
因此,需要编写异常处理代码来捕获并处理这些错误,向用户反馈适当的错误信息。 7. 安全考虑:上传的文件可能存在安全风险,例如恶意脚本。因此,除了验证文件类型外,还需过滤和转义文件内容,防止跨站脚本(XSS)...
9. **异常处理**:良好的异常处理能提高程序的健壮性。Servlet应用中,可以使用`@WebExceptionHandler`注解来处理全局异常,或者在特定Servlet中捕获并处理异常。 10. **部署与调试**:最后,我们需要知道如何将...