Servlet--ServletException类,UnavailableException类
- ServletException类
定义
public class ServletException extends Exception
当 Servlet 遇到问题时抛出的一个异常。
构造函数
public ServletException();
public ServletException(String message);
public ServletException(String message, Throwable cause);
public ServletException(Throwable cause);
构造一个新的 ServletException,如果这个构造函数包括一个 Throwable 参数,这个Throwable 对象将被作为可能抛出这个异常的原因。
方法
1、getRootCause
public Throwable getRootCause();
如果配置了抛出这个异常的原因,这个方法将返回这个原因,否则返回一个空值。
- UnavailableException类
定义
public class UnavailableException extends ServletException
不论一个 Servlet 是永久地还是临时地无效,都会抛出这个异常。Servlet 会记录这个异常以及 Servlet 引擎所要采取的相应措施。临时的无效是指 Servlet 在某一时间由于一个临时的问题而不能处理请求。例如,在另一个不同的应用层的服务(可能是数据库)无法使用。这个问题可能会自行纠正或者需要采取其他的纠正措施。永久的无效是指除非管理员采取措施,这个 Servlet 将不能处理客户端的请求。例如,这个 Servlet 配置信息丢失或 Servlet 的状态被破坏。Servlet 引擎可以安全地处理包括永久无效在内的这两种异常,但是对临时无效的正常处理可以使得
Servlet 引擎更健壮。特别的,这时对 Servlet 的请求只是 被阻止(或者是被延期)一段时间,这显然要比在 service 自己重新启动前完全拒绝请求更为科学。
构造函数
public UnavailableException(Servlet servlet, String message);
public UnavailableException(int seconds, Servlet servlet,String message);
构造一个包含指定的描述信息的新的异常。如果这个构造函数有一个关于秒数的参数,这将给出 Servlet 发生临时无效后,能够重新处理请求的估计时间。如果不包含这个参数,这意味着这个 Servlet 永久无效。
方法
1、getServlet
public Servlet getServlet();
返回报告无效的 Servlet。这被 Servlet 引擎用来识别受到影响的 Servlet。
2、getUnavailableSeconds
public int getUnavailableSeconds();
返回 Servlet 预期的无效时间,如果这个 Servlet 是永久无效,返回-1。
3、isPermanent
public boolean isPermanent();
如果这个 Servlet 永久无效,返回布尔值 true,指示必须采取一些管理行动以使得这个Servlet 可用。
package javax.servlet; public class UnavailableException extends ServletException
{
private Servlet servlet;
private boolean permanent;
private int seconds; /** @deprecated */
public UnavailableException(Servlet servlet, String msg)
{
super(msg);
this.servlet = servlet;
this.permanent = true;
} /** @deprecated */
public UnavailableException(int seconds, Servlet servlet, String msg)
{
super(msg);
this.servlet = servlet;
if (seconds <= 0)
this.seconds = -1;
else
this.seconds = seconds;
this.permanent = false;
} public UnavailableException(String msg)
{
super(msg); this.permanent = true;
} public UnavailableException(String msg, int seconds)
{
super(msg); if (seconds <= 0)
this.seconds = -1;
else {
this.seconds = seconds;
}
this.permanent = false;
} public boolean isPermanent()
{
return this.permanent;
} /** @deprecated */
public Servlet getServlet()
{
return this.servlet;
} public int getUnavailableSeconds()
{
return this.permanent ? -1 : this.seconds;
}
}
Servlet--ServletException类,UnavailableException类的更多相关文章
- Servlet主要相关类核心类 容器调用的过程浅析 servlet解读 怎么调用 Servlet是什么 工作机制
WEB简介 Web项目 是 B/S结构 浏览器/服务器模式的 浏览器发起请求,服务器作出响应 请求的发起和响应使用HTTP协议进行通讯 所谓协议也就是一种固定格式 而Socket是应用 ...
- Servlet技术——常用的类和接口
Servlet是运行在服务器端的Java应用程序,由Servlet容器对其进行管理. 当用户对容器发送HTTP请求时,容器将通知相应的Servlet对象进行处理,完成用户和程序之间的交互. 在Serv ...
- 关于servlet与jsp&java类传值问题
为了实现单击左侧导航栏,动态改变右侧(一个jsp文件)的内容,需要改变变量var的值,进而实现改变default部分内容的目的(自己想的方法,因为实在是layman.应该有简便快捷的方法,可我不知道. ...
- Java 编程的动态性 第1 部分: 类和类装入--转载
原文地址:http://www.ibm.com/developerworks/cn/java/j-dyn0429/ 本文是这个新系列文章的第一篇,该系列文章将讨论我称之为 Java 编程的动态性的一系 ...
- 初识UML类图--类之间关系
前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这 ...
- [.net 面向对象编程基础] (9) 类和类的实例
[.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功 ...
- java异常处理:建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),
建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount ...
- javax.servlet.ServletException cannot be resolved to a type错误解决方法
在页面中使用全局路径时${pageContext.request.contextPath}出现javax.servlet.ServletException cannot be resolved to ...
- Spring mvc-异常javax.servlet.ServletException: Could not resolve view with name 'xxx' in servlet with name 'spring'
最近使用spring mvc开发项目,遇到一个问题: javax.servlet.ServletException: Could not resolve view with name 'ok' in ...
随机推荐
- appium-chromedriver@3.0.1 npm ERR! code ELIFECYCLE npm ERR! errno 1
解决方法: npm install appium-chromedriver@3.0.1 --ignore-scripts 或者(安装方法): npm install appium-chromedriv ...
- CSS(四)float 定位
一.文档流 网页默认的定位方式 1.行级元素: 从左到右 2.块级元素: 从上到下 文档流的流动方式 从右下 到 左上 ↖ 二.浮动 1.浮动的定义 , 是元素脱离文档流 遇到父级边界 或相邻浮动 ...
- Redis in Docker on Linux Container
记录:在Docker中运行一个Redis实例当我们在Windows系统中安装好Docker以后,在Hyper-V中会自动创建一个Linux虚拟机,如果这个虚拟机没有运行,说明当前运行的是Windows ...
- [转]python变量作用域的有趣差别
func()里 可以访问全局变量i,但不能给i重新赋值. i = 1 def func(): print( i + 1) func() # 2 用global声明后,可以给i重新赋值. i = 1 d ...
- IdentityServer(14)- 使用EntityFramework Core配置和操作数据
IdentityServer具有良好的扩展性,其中一个可扩展点是用于IdentityServer所需数据的存储机制. 本快速入门介绍了如何配置IdentityServer以使用EntityFramew ...
- 高通secury boot过程
整理内容网盘地址: 链接:https://share.weiyun.com/79c3920b4f2097d93b719b3149a7f3f9 (密码:4jm9cx) 相关内容网站: http://bl ...
- 使用三种方法求解前N个正整数的排列
本篇博文给大家介绍前N个正整数的排列求解的三种方式.第一种是暴力求解法:第二种则另外声明了一个长度为N的数组,并且将已经排列过的数字保存其中:第三种方式则采用了另外一种思路,即首先获取N个整数的升序排 ...
- mysql数据库表结构与表约束
表结构操作: 添加单列:alter table tb_name add [column] col_name 添加一列: alter table `sudty` add `aaa` int; 添加多列: ...
- orm查询
all:models.表名.objects.all() 结果是queryset集合 filter: models.表名.objects.filter() 结果是queryset集合 get: mode ...
- 基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案
基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案 两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求了百度和大神们,都没有解决这个问题,百度上一堆解释是对编译器 ...