Servlet 教程 之 Servlet 异常处理 2

简介: Servlet异常处理涉及匹配并响应抛出的异常或HTTP状态码。在web.xml中,通过`error-page`元素配置错误处理Servlet,如`ErrorHandler`。当异常发生或特定状态码出现时,调用相应Servlet。示例配置包括对404、403错误及`ServletException`和`IOException`的处理,可使用`Throwable`处理所有异常。

Servlet 教程 之 Servlet 异常处理 2

Servlet 异常处理

当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类型相匹配的配置。

您必须在 web.xml 中使用 error-page 元素来指定对特定异常 或 HTTP 状态码 作出相应的 Servlet 调用。

web.xml 配置
假设,有一个 ErrorHandler 的 Servlet 在任何已定义的异常或错误出现时被调用。以下将是在 web.xml 中创建的项。


ErrorHandler
ErrorHandler


ErrorHandler
/ErrorHandler


404
/ErrorHandler


403
/ErrorHandler



javax.servlet.ServletException

/ErrorHandler


java.io.IOException
/ErrorHandler

如果您想对所有的异常有一个通用的错误处理程序,那么应该定义下面的 error-page,而不是为每个异常定义单独的 error-page 元素:


java.lang.Throwable
/ErrorHandler

目录
相关文章
|
16小时前
|
存储 Java 数据库
Servlet 教程 之 网站点击计数器 1
Servlet教程展示了如何创建一个网站点击计数器。通过过滤器生命周期管理全局变量hitCount,在init()中初始化,doFilter()中每次增加1,可选地在destroy()中存储到数据库。在web.xml配置后,每当访问http://localhost:8080/,计数器会递增并在日志中显示。
15 9
|
16小时前
|
XML 存储 数据库
Servlet 教程 之 Servlet 点击计数器 1
Servlet教程展示了如何创建一个简单的网页点击计数器。在Servlet的`init()`方法中初始化全局变量`hitCount`,每次`doGet()`调用时递增。可选地,使用数据库持久化计数器并在`destroy()`中保存。若要按session计数,检查`isNew()`。实例中,Servlet响应包含页面标题和当前点击次数。通过编译Servlet并配置`web.xml`,访问`http://localhost:8080/TomcatTest/PageHitCounter`可测试计数器。
13 5
|
1天前
|
Java
Servlet 教程 之 Servlet 处理日期 4
Servlet教程:探讨Java的`java.util.Date`类在处理日期和时间中的应用。学习如何使用日期格式化代码,如G(纪元)、y(年)、M(月)、d(日)等,以及时间模式如h(12小时制)、H(24小时制)、m(分钟)、s(秒)等。查阅完整日期方法列表,请参阅Java官方文档。
133 56
|
1天前
|
Java
Servlet 教程 之 Servlet 处理日期 3
Servlet教程展示了如何处理日期,使用`java.util.Date`和`SimpleDateFormat`对日期进行格式化。在示例中,创建了一个名为`CurrentDate`的Servlet,它显示当前日期和时间,格式为"yyyy.MM.dd hh:mm:ss E a"。访问`http://localhost:8080/TomcatTest/CurrentDate`可查看结果。
16 7
|
1天前
|
XML Java 数据格式
Servlet 教程 之 Servlet 处理日期 2
Servlet教程展示了如何处理日期,使用`java.util.Date`获取当前日期和时间。示例代码创建了一个名为`CurrentDate`的Servlet,显示中心对齐的当前日期和时间。在web.xml中配置后,通过http://localhost:8080/TomcatTest/CurrentDate可访问。
17 6
|
2天前
|
Java
Servlet 教程 之 Servlet 处理日期 1
Servlet教程介绍了Java的`java.util.Date`类,用于处理日期和时间。Date类提供两个构造器,一个初始化当前日期,另一个基于毫秒数。关键方法包括:`after()`和`before()`判断日期先后,`compareTo()`比较日期,`equals()`检查日期是否相同,`getTime()`获取毫秒值,`setTime()`设置时间,`hashCode()`和`toString()`用于对象标识和字符串转换。
12 2
|
2天前
|
XML 数据格式
Servlet 教程 之 Servlet 文件上传 3
该教程介绍了如何使用Servlet进行文件上传。在web.xml中配置了Servlet `UploadServlet`,类为`com.baidu.test.UploadServlet`,映射路径为`/TomcatTest/UploadServlet`。用户需通过创建的HTML表单提交文件,访问URL为:http://localhost:8080/TomcatTest/upload.jsp。
9 0
|
2天前
|
存储 Java Apache
Servlet 教程 之 Servlet 文件上传 2
该教程介绍了如何使用Servlet进行文件上传。关键步骤包括:确保引入Apache Commons FileUpload和IO库,创建`UploadServlet`,设置上传配置,解析请求以提取文件数据,并将文件保存至服务器指定目录。如果上传成功,用户将被重定向到`message.jsp`显示提示信息。
7 1
|
3天前
|
Java 开发者
Servlet 教程 之 Servlet 文件上传 1
Servlet 文件上传教程展示了如何利用 HTML 表单和 Servlet 处理文件上传。关键点包括:POST 方法的 form,enctype 设为 "multipart/form-data",以及 action 指向如 UploadServlet 的处理程序。所需的 jar 包有 commons-fileupload-1.3.2 和 commons-io-2.5.jar。Servlet 3.0 已内置文件上传支持,无需额外组件。示例的 upload.jsp 文件包含一个单文件上传表单,使用 input[type="file"] 元素。
17 5
|
3天前
|
Java 关系型数据库 MySQL
Servlet 教程 之 Servlet 数据库访问 2
本教程讲解如何在Servlet中实现数据库访问。首先确保了解JDBC并配置MySQL驱动(如mysql-connector-java-5.1.39-bin.jar),在Eclipse Web项目中需将驱动放入Tomcat的lib目录。创建名为`websites`的数据库表,插入测试数据。之后展示了一个Servlet示例,该示例连接到数据库,执行SQL查询以获取`websites`表中的`id`、`name`和`url`,并将结果输出到HTML响应中。要运行Servlet,需在web.xml中配置并访问指定URL。
12 4