JSP脚本的9个内置对象(三)——exception对象

JSP内置对象 JSP内置对象是指JSP页面中可以直接使用的内置对象,它们都是Javax.servlet.jsp 包中的Java类。JSP内置对象共有9个,它们分别是:request、response、pageContext、session、application、out、config、page和exception。使用JSP内置对象前,应导入相关jar包,这里通过Maven导入相关jar包。 阅读详情

 本文摘自:李刚 著 《轻量级 Java EE企业应用实战 Struts2+Spring+hibernate整合开发》

 

 

        exception对象是Throwable实例,代表JSP脚本中产生的错误和异常,是JSP页面机制的一部分。在JSP脚本中无须处理异常,即使该异常时checked异常。实际上,JSP脚本所包含的所有可能出现的异常都可以交给错误处理页面进行处理。

        看如下的异常处理结构:

try{    //代码处理段    }   //再普通页面

catch(Exception exception)

{    //异常处理段   }   //在异常处理页面

        这似乎典型的异常处理捕捉模块。在JSP页面,在普通的JSP脚本只是执行第一部分即代码处理段;而异常处理页面处理第二个部分即异常处理段。在异常处理段中可以看到一个异常对象,该对象就是内置对象exception。

        注意:exception对象仅仅在异常处理页面中在有效。

        打开普通页面所生成的Servlet类。将发现以下代码段:

public void _jspService(HttpServletRequest request,HttpServletResponse response)
         throws java.io.IOException, ServletException{
         try{
         //所有JSP脚本、静态HTML部分都会转换成此部分代码
         response.setContentType("text/html;charset = gb2132");
         ...
         out.write("</BODY>\r\n");
         out.write("</HTML>\r\n");
         }catch(Throwable t){
         ...
         //处理该异常
         if(_jspx_page_context != null) _jspx_page_context.handlePageException(t);
         }finally{
         //释放资源
         _jspxFactory.releasePageContext(_jspx_page_context);
         }
}

        从上面的代码的第4行可知,JSP脚本和静态HTML部分都将转换成_jspService()方法里的执行性代码——这就是jsp脚本无须处理异常的原因:因为这些脚本已经存在于try块中,一旦try块捕捉到JSP脚本的异常,并且_jspx_page_context不为null,就会由该对象来处理异常,如上面的代码第12行所示。

        _jspx_page_context 对异常的处理也是非常的简单:如果该页面的page指令指定了errorPage属性,将请求foward到errorPage属性指定的页面,否则使用系统指定的页面输出异常信息。

       注意:由于只有JSP脚本、输出表达式才会生成_jspx_page_context方法里的代码,所以这两个部分的代码无须处理异常。但是JSP的声明部分依然强制处理checked异常,JSP的异常处理机制对JSP声明不起作用。

        在JSP的异常处理机制中,一个异常处理页面可以处理多个JSP页面脚本部分的异常。异常处理页面通过Page指令的errorPage属性确定。

<!--通过errorPage属性指定异常处理页面-->
<%@ page contentType = "text/html; charset = gb2132" 
         language = "java" errorPage = "error.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3c//DTD HTML 4.0 Transitional//EN"> 
<html>
<head>
<title>JSP脚本异常处理机制</title>
</head>
<body>
<%int a = 6;
int c = a/0
%>
</body>
</html>

 

<!--通过isErrorPage属性指定本页面是异常处理页面-->
<%@ page contentType = "text/html; charset = gb2132" 
         language = "java" isErrorPage = "true"%>
<!DOCTYPE HTML PUBLIC "-//W3c//DTD HTML 4.0 Transitional//EN"> 
<html>
<head>
<title>异常处理页面</title>
</head>
<body>
异常类型是:<%=exception.getClass()%></br>
异常信息是:<%=exception.getMessage()%></br> 
</body>
</html>



 

国外无人机蜂群作战典型战例及发展趋势 参与袭击的无人机为简易组装的固定翼飞机,采用小排量活塞发动机和手机GPS通信模块零件,机翼为轻木加泡沫板混合结构,尾梁为铝合金方管,主要依靠胶带粘接,以上全部配件均可在商用市场买到,成本较低,可在短时间内装配完成。③战场纵深短、瞬时性强。蜂群作战的参战数量显著增加,这一方面得益于无人机技术的飞速发展使得廉价无人机可以大量生产和仿制,另一方面凭借迅速发展的投放和回收技术以及集群控制技术,使得无人机蜂群可在极短时间内实现编队饱和攻击,在快速消耗敌方高价值防空武器系统的同时,保证己方物资系统的突防概率。 阅读详情

相关推荐

制造业私有化LLM部署实战:从RAG到智能体,构建企业专属知识大脑

大型语言模型(LLM)作为人工智能的核心技术,通过在海量文本数据上进行预训练,具备了强大的语言理解和生成能力。其原理在于基于Transformer架构,通过自注意力机制捕捉长距离语义依赖。这一技术价值在于能将非结构化信息转化为可计算、可推理的知识,从而赋能企业实现知识的高效管理与应用。在制造业等强数据安全与知识密集型领域,私有化部署的LLM结合检索增强生成(RAG)和智能体(Agent)技术,能够深入业务流程,构建安全、专属的智能知识中枢。本文聚焦于如何利用Qwen、LangChain、向量数据库等技术栈,

weixin_42523711的博客 247

jsp九大内置对象和四大域对象

request对象:请求对象,可以获取请求信息。response对象: 响应对象。可以设置响应信息。pageContext对象: 当前页面上下文对象。可以在当前上下文保存属性信息 session对象: 会话对象。可以获取会话信息。exception对象: 异常对象只有在 jsp 页面的 page 指令中设置 isErrorPage=“true” 的时候才会存在。application对象: ServletContext 对象实例,可以获取整个工程的一些信息。config对象: Servlet........

YOU__FEI的博客 1574

【无标题】 Python自动化法律文书撰写

Jinja2是一个功能强大的模板引擎,支持丰富的语法和功能。除了条件判断和循环语句外,Jinja2还支持过滤器、宏、继承等高级特性,非常适合处理复杂的文书模板。

master_chenchen的博客 2061

JSP常用内置对象:page、pageContext、config、exception

学习目标(常用九大内置对象) out request response page session application pageContext config exception 1、page对象 page是java.lang.Object类的一个实例,它指的是JSP实现类的实例,也就是说,它是JSP本身。相当于JSP编译生成servlet后是servlet类的this对象。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面实际当中很少用到。

一宿君 2032

实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法

本文通过ABS通讯丢失故障触发、判定条件Simulink模型的搭建和仿真的讲解,介绍了一种控制器CAN通讯丢失故障判定的方法和建模方法,希望能给相关技术人员带来一定参考和帮助。

qq_43011586的博客 3684

FDTD超表面仿真详细教程,几何相位,共振相位,传播相位

FDTD的超表面主要几何相位型(PB型)和共振型两种类型,其中PB型每个cell中的纳米棒的长宽相同,旋转角度不同,共振型长宽不同,旋转角度相同。本博文中以最常见的长方形纳米棒为例,用FDTD演示两种超表面实现的聚焦透镜的功能,包含详细步骤,其他形状,材料的超表面可自行尝试。

wuyuerhhg的博客 3万+

jsp四大作用域和九大内置对象

jsp是运行在服务端的程序 JSP有九个内置对象(又叫隐含对象),不需要预先声明就可以在脚本代码和表达式中随意使用 JSP九大内置对象分为四类: 输入输出对象:out对象、response对象、request对象 通信控制对象:pageContext对象、session对象、application对象 Servlet对象:page对象、config对象 错误处理对象:exception...

mike_jun的博客 2万+

DS250DF410寄存器配置实战:从原理到调试的高速SerDes信号优化指南

在高速串行通信领域,SerDes(串行器/解串器)技术是实现芯片间高速数据传输的核心。其工作原理是通过时钟数据恢复(CDR)从串行数据流中提取时钟,并利用均衡技术补偿信道损耗。这项技术的核心价值在于突破PCB走线或电缆的带宽限制,确保在25Gbps及以上速率下数据的可靠传输。其应用场景广泛覆盖数据中心、高性能计算和通信设备中的高速背板、光模块及芯片互连。本文以TI的DS250DF410多通道重定时器为例,深入剖析其寄存器配置,特别是如何通过精细调控其自适应均衡器和眼图监测模块,实现对高速链路的信号整形与质量

aodiyi6351的博客 384

JSP内置对象-Exception对象

Exception对象 exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。它实际上是java.lang.Throwable的对象 String getMessage()返回描述异常的信息 String toString()返回关于异常的简短描述信息 void print...

胡二的博客 798

PLC作为Modbus TCP客户端

PLC作为Modbus TCP客户端,Modbus Slave作为服务器

soledad_chao的博客 4377

【LaTex】3.5 数据分析

简述了LaTex柱状图、饼图、折线图的画法。

你的指尖有改变世界的力量 5887

【JSP内置对象】之9大内置对象(JavaWeb必背必掌握)

JSP内置对象理解9大内置对象分类1.request(请求对象)2.response(响应对象)3.session(会话对象)4.application(应用程序对象)5.page(页面对象)6.pageContext(页面上下文对象)7.out(输出对象)8.config(配置对象)9.exception(异常对象) 理解 1.JavaEE规范中对JSP的内置对象只提供了接口,而具体的实现类由所使用的web服务器提供,当服务器启动时,服务器会自动将这些接口的实现类创建并赋值给对应JSP内置对象变量,在页面

小月月的博客 7820

2025年广东省职业院校技能大赛高职组“区块链技术应用”正式赛题解析答案(标准答案参阅)

某公司规划开发一个区块链供应链金融平台,包括核心企业、供应商、银行等角色,通过智能合约代码逐步构建区块链供应链金融平台的基本功能,实现银行向核心企业提供授信并发行数字凭证,企业与企业之间转让数字凭证。此外需要完成区块链供应链金融平台的前后端,实现基本的业务逻辑

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1267

JSP 的其他内置对象

该文总结了 JSP 内置对象中的其他常见的对象,如 pageContext、config、page、exception 对象。自此,关于 JSP 的内置对象的简单了解目前告一段落了。一、获取会话范围的 pageContext 对象pageContext 对象可以获取 JSP 页面的 request、response、session、application、exception 等对象。属性的管理:可以使用对象来设置、获取和删除JSP页面中的属性。

weixin_74141222的博客 1045

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

JSP脚本中的9个内置对象

例JSP脚本中包含9个内置对象, 这9个内置对象都是Servlet API接口的实例,只是JSP规范对他们进行了默认初始化(由JSP页面对应的Servlet的_jspService()方法来创建这些实例)。也就是说,他们已经是实例对象,可直接使用。9个内置对象依次如下: application:javax.servlet.ServletContext的实例,该实例代表JSP所属的Web应用本身,可用

u014212981的博客 714

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JSP 9大内置对象

转载自 https://blog.youkuaiyun.com/koches/article/details/7785415 隐式对象 Servlet创建了几个由JSP引擎使用的隐式对象。开发人员不用事先声明就可以使用标准的变量来访问这些对象。JSP提供了9种隐式对象。 一、学习JSP的page 对象 page对象代表JSP本身...

Java小白的自学之路 1030

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

JSP的9个内置对象之exception对象

exception对象是Throwable的实例,代表JSP脚本中产生的错误和异常,是JSP页面异常机制的一部分。 在JSP脚本中无须处理异常,即使该异常是checked异常。事实上,JSP脚本包含的所有可能出现的异常都可交给错误处理页面处理。一,为什么说exception对象只有在异常处理中有效? 异常处理结构如图: 注:exception对象仅在异常处理页面中有效,通过前面的异常处理结

qq_34342083的博客 1424

JSP:内置对象

4,JSP脚9个内置对象 JSP脚本包含9个内置对象,这9个内置对象都是Servlet API接口的实例,只是JSP规范对他们进行了默认初始化(由于JSP页面对应Servlet的_jspService()方法来创建这些实例)。也就是说,它们已经是对象,可以直接使用。 查看JSP编译后的源码可以看到几乎所有的JSP页面编译后Servlet类都有如下所示的结构,代码所示:request、response两个对象是_jspService()方法的形参,当Tomcat调用该方法时会初始化这两个对象。而page

燕双嘤 785

JSP9个内置对象

JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对象。如request,session,response,out等。 下面就JSP2.0给出的9个内置对象:   内置对象 类型 作用域 request javax.servlet.http.HttpServletR

不知道要什么,便什么都想要,最后什么都要不到 788

JSP内置对象(9个常用的内置对象)

JSP内置对象(9个常用的内置对象)   1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。 序号 方 法 说 明 1 object getAttribute(String name) 返回指定属性的属性值 2 Enumeration getAttributeNames() 返回所有可用

chenjuntj2007的专栏 586

Jsp9个内置对象详解

JSP内置对象(9个常用的内置对象)    1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求, 然后做出响应。它是HttpServletRequest类的实例。 序号方法说明 objectgetAttribute(Stringname) 返回指定属性的属性值 EnumerationgetAttributeNames() 返回所有可用属性名的枚举 StringgetCharacterEncoding() 返回字符编码方式

我想我是海 冬天的大海 心情随风轻摆 9万+

JSP脚本中常用的内置对象

JSP脚本中包含9个内置对象,这9个对象都是Servlet API接口的实例,只是JSP规范对它们进行了默认初始化,由JSP页面对应的Servlet的_jspService()方法来创建这些实例,在JSP页面中可以直接使用。 1 application对象:ja...

chishuangxi7475的博客 160
上一篇: @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
下一篇: (更新)线性表基础知识精炼(Java描述)
IMFuckingHigh
博客等级 码龄18年 85粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值