Web应用中的几种属性及异常处理

本文介绍了Web应用中六种不同类型的属性及其线程安全性,并详细讲解了如何通过配置web.xml来定制错误页面,实现HTTP错误及Java异常的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]一、Web应用中的几种属性:[/b]

(1)局部变量:doGet()或doPost()方法内定义的变量 线程安全
(2)实例变量:Servlet类体中定义的非静态成员变量(属性) 线程不安全--〉让Servlet类实现 SingleThreadModel 或加同步
(3)类变量:Servlet类体中定义的静态成员变量(属性) 线程不安全 --〉加同步
(4)请求属性:request.setAttribute() 线程安全
(5)会话属性:session.setAttribute() 线程不安全 --〉加同步
(6)上下文属性:ctx.setAttribute() 线程不安全 --〉加同步


[b]二、web应用异常处理(定制错误页面):[/b]

(1)http错误:
在web.xml中

<error-page>
<error-code>某个http错误号,例如404</error-code>
<location>转发的目的页面URL(.html或Servlet)</location>
</error-page>


(2)Java异常:两种处理方式:
a) 在web.xml中

<error-page>
<exception-type>Java异常的完整类名</exception-type>
<location>转发的目的页面URL(.html或Servlet)/location>
</error-page>


b) 编程:

在原始的Servlet中写
   try{
//可能抛出异常的语句

}catch(XXXException e){
ServletContext ctx = getServletContext();
RequestDispatcher rd = ctx.getNamedDispatcher("目的Servlet的名字");
rd.forward(request, response);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值