JSP培训(13)——异常处理

JAVA高端编程研发培训班 JAVA开发视频教程 JAVA高端编程研发培训班 JAVA开发视频教程 Java高级开发工程师是做什么的? 初级开发工程师 Java 程序设计基础,包括 J2sdk基础、Java面向对象基础、Java API使用、数据结构及算法基础、Java AWT图形界面程序开发;J2SE平台Java程序设计,包括Swing图形程序设计, Socket网络应用程序设计,对象序列化,Java 常用数据结构,Applet,流和文件,多线... 阅读详情

本文主要描述JSP代码中的异常,关于Java代码中的异常,可以参考另一篇文章:http://blog.youkuaiyun.com/JavaEETeacher/archive/2007/03/19/1533754.aspx

 

要对JSP程序可能产生的异常进行处理,可以从多个角度完成:可以针对特定的代码,可以针对特定的文件,也可以针对错误的类型。
如果针对特定的代码,可以使用标准标签库中的核心标签库中的<c:catch>标签。
如果针对特定的文件,可以使用JSP的page指令中的isErrorPage属性和errorPage属性完成。
如果针对特定类型的错误,可以使用web.xml配置文件。
1 使用<c:catch>进行异常处理
<c:catch>标签可以针对特定的一行或者多行代码。<c:catch>标签的基本格式如下:
<c:catch [var="存储异常信息的变量"]>
   其他的JSP代码,包括各种标签
</c:catch>
用法与Java代码中的try语句非常类似,把可能产生异常的代码放在<c:catch>开始标志和结束标志之间。这样,当这些代码产生异常的时候,JSP容器会对异常进行处理。
下面是一个对界面异常进行处理的例子:
<c:catch>
   <c:out value="${user.address}"/>
</c:catch>
如果希望产生异常之后,把异常信息保存起来供其它的代码使用,可以使用var属性指定一个变量。
下面的代码会在异常产生的时候把异常信息存储在exceptionInfo变量中:
<c:catch var="exceptionInfo">
   <c:out value="${user.address}"/>
</c:catch>
如果需要可以在后面输出异常的信息:
<c:if test="${exceptionInfo != null}">
   运行时候产生异常,异常信息为:${exceptionInfo.message}
</c:if>
2 为页面指定异常处理文件
如果不想针对每一段代码都进行异常处理,可以以页面作为单位进行异常处理,可以指定当前页面运行过程中产生错误的时候,由特定的页面对异常进行处理。
采用这种异常处理方式,需要编写一个专门的异常处理文件,然后在每个需要进行异常处理的文件中进行设置。
编写异常处理文件
异常处理文件中需要使用page指令的isErrorPage属性,格式如下:
<%@ page isErrorPage="true"%>
如果在页面上进行了这样的设置,页面就具有了一项特殊的功能,能够访问异常对象exception。exception是JSP的内部对象,当页面在运行过程中产生异常的时候,会抛出异常对象exception,该对象包含了异常信息。
下面是一个异常处理文件:
文件名:errorPage.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page isErrorPage="true"%>
页面产生异常,异常信息如下:${exception.message}
为页面指定异常处理文件
要想让页面产生异常的时候,由专门的异常处理文件对异常进行处理,需要在该页面中使用page指令的errorPage指定专门的异常处理界面,格式如下:
<%@ page errorPage="异常处理文件"%>
假设要设置前面编写的errorPage.jsp页面为当前页面的异常处理文件,可以使用下面的代码:
<%@ page errorPage="errorPage.jsp"%>
3 通过web.xml进行配置
如果不想为每个页面设置异常处理文件,可以为同一种类型的异常指定统一的异常处理文件。还有一些异常的处理是没有办法通过页面设置来完成的,例如用户输入了网站中的一个不存在文件,这时候应该告诉用户文件不存在,但是这种异常是没有办法通过在页面设置来解决的。
要想为每种类型的异常指定一个异常处理文件,可以通过web.xml进行配置。在web.xml中进行配置可以根据错误类型配置,例如NullPointException、IOException等,也可以根据错误编码配置。
常见的异常编码如下:
403错误:文件被禁止访问;
404错误:文件没有找到;
500错误:文件在运行过程中发生未知错误。
根据异常类型进行配置,可以使用下面的代码:
 <error-page>
    < exception-type >java.lang.NullPointerException</exception-type>
    <location>/nullpointer.jsp</location>
 </error-page>
根据异常编码进行配置,可以使用下面的代码:
 <error-page>
    <error-code>401</error-code>
    <location>/401.jsp</location>
 </error-page>
 

 参考教材:《Java Web程序设计基础教程》

test exception 测试 android exception 在android中 try catch 的作用 : 只可以捕获checkException。如果是Error或者是 RuntimeException, 即使catch住了,则程序仍然会崩溃。 立即下载

相关推荐

JSP 异常处理

JSP 异常处理 当编写JSP程序的时候,程序员可能会遗漏一些BUG,这些BUG可能会出现在程序的任何地方。JSP代码中通常有以下几类异常: 检查型异常:检查型异常就是一个典型的用户错误或者一个程序员无法预见的错误。举例来说,如果一个文件将要被打开,但是无法找到这个文件,则一个异常被抛出。这些异常不能在编译期被简单地忽略。 运行时异常:一个运行时异常可能已经被程序员避免,这种异常在编译期将会被忽略。 错误:错误不是异常,但问题是它超出了用户或者程序员的控制范围。错误通常会在代码中被忽略,您几乎不能拿它怎么样。举例来说,栈溢出错误。这些错误都会在编译期被忽略。 本节将会给出几个简单而优雅的方式

jsp自定义标签

1、如果Web应用中用到了自定义JSP标签,则必须在web.xml文件中加入元素,它用于声明所引用的标签所在的标签库 /sometaglib /WEB-INF/someTLD.tld 2、设定Tag Library的惟一标示符,在Web应用中将根据它来引用Tag Libray; 3、指定和Tag Library对应的TLD文件的位置; 4、在JSP文件中需要加入指令来声明对标签库的

limengmeng9006的专栏 361

cadence数模混合仿真反标sdf

数模混合IC设计时经常要调用一些Verilog模块(最简单的例如SPI接口),在前仿时一般直接用rtl代码来仿真,但是后仿时要关注因寄生带来的延迟,避免这些额外的延迟导致时序错误,因此不能简单地采用RTL来仿真。 一般有两种办法:1是采用由RTL综合得到的门级电路来仿真,这种方法比较简单,但是缺点是规模较大,而且只包括门延迟不包括因版图导致的线延迟;如果想要仿真更精细,就要对该这部分门电路提取寄生参数; 另一种方式是利用sdf文件(standard delay format)来进行仿真。后端工具在布局布

长河柱天的博客 7275

JSP中的异常处理

JSP中的异常处理         一、try/catch/finally/throws/throw          // 在局部代码里处理异常。         二、errorPage, isErrorPage            // 在整个页面处理异常。         1.errorPage         形如:            表示:需要错误处理的页面    

小慕 1462

Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测的详细项目实例

这些数据包含了随时间变化她动态信息,具有显著她趋势她、周期她和季节她特征。该模型她核心优势在她其能够自适应地学习数据中她多层次时序信息,捕捉时间序列中她长短期依赖关系,从而提高预测她准确她和可靠她。本项目旨在实她一个基她PTO-TCN-LTTM-TFSttfntion她多变量时间序列预测模型,通过粒子群优化算法优化时间卷积长短期记忆神经网络,并融合注意力机制,提高模型她预测精度和稳定她。本项目模型她实她分为多个阶段,首先她数据预处理,接着她PTO优化,然后她TCN和LTTM网络她构建她训练。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 1080

海康SDK回调PS流解析实战:从字节流到前端H264播放的完整流程

本文详细介绍了海康SDK回调PS流解析的完整流程,从字节流获取到前端H264播放的实现。涵盖SDK初始化、PS流数据结构解析、H264裸流提取、WebSocket传输及前端播放器集成等关键步骤,为视频监控系统开发提供实用指导。

weixin_29061531的博客 204

常见jsp出现的页面错误(404,500等)与捕捉办法

<br />今天被一哥们问到了这个问题 顿时觉得很囧 以前只知道404 ,500等几个错误<br />刚才到网上找了下 常用的有这些<br />200 ->请求已完成 记得在ajax中的status状态值也是用200来判断发送的请求是否完成<br />400 ->400 错误请求,原因可能是请求中存在异常字符或者是请求语法有错误等等引起<br />404 ->大名鼎鼎,找不到指定资源或者文件等, 想servlet的mapping配置错误 或者像struts的action配置错误都有可能引起该错误<br />

2145

单细胞数据分析(三):单细胞聚类分析

本文介绍了单细胞聚类分析的基本概念及其在单细胞RNA测序(scRNA-seq)数据中的应用。单细胞聚类分析通过将具有相似基因表达模式的细胞分组到不同的簇中,帮助识别细胞类型、状态和功能。文章详细展示了使用R语言中的Seurat包进行单细胞数据聚类分析的步骤,包括数据加载、降维、聚类和结果可视化。通过FindNeighbors和FindClusters函数,文章展示了如何基于降维数据进行细胞聚类,并选择合适的分辨率值。

专注生信领域 1914

JSP-使用JSTL-out、set、remove、catch捕捉异常、条件判断、流程控制、字符截取

使用JSTL在MyEclipse2014中,使用JSTL只要在文件开始加上一句 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>prefix表示前缀,用于区分其他标签,可以自定义前缀。 使用JSTL可以进一步减少Scriptlet的使用。使前端页面更加简洁输出语句out<c:out value=”value” defa

Twilight's Blog 1314

Python爬取公交线路信息及站点shp数据 文末附数据下载地址

三、现在已经获取到了各个线路名称、链接,以及所途径的上下行站点,那么接下来就应该对开始对第三页url进行信息采集,即本次爬虫的最终目的:爬取所有站点的GPS坐标数据。但坑就坑在,二环一号线属于环线,所以只有左侧有站点数据,而其他非环线车次的站点数据分有上下行,如果用正则匹配,则分不清楚到底哪些是上行站点哪些是下行站点。以前爬过百度地图,当时用的是API平台,加上网站比较规范,所以标签节点什么的都比较清晰,但这次由于特殊原因所选择的网站为公交网,废话不多说直接开始吧。checi=二环一号线。

J_Giser的博客 1317

python全栈入门到实战【基础篇 02】环境搭建:Python解释器与PyCharm、VSCode编辑器安装配置详解

本文详解Python环境搭建步骤。首先安装解释器(运行代码核心),需从官网下载,选3.8及以上版本(勿选2.x)。Windows安装必勾“Add Python.exe to PATH”,验证用`python --version`;Mac选universal2安装包,验证用`python3 --version`。 编辑器二选一:PyCharm社区版(免费,新手推荐),安装后需配置解释器路径;VSCode轻量,需装Python插件并选择解释器。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 5万+

培训目录

李绪成的一亩三分地 1595

Lammps实现结冰匀相成核

Lammps实现结冰匀相成核

Rockyoung 3848

java全家桶之29: java培训体系

6个月系统学习可达就业水平,但持续竞争力取决于技术迭代跟踪能力(建议每年投入200小时学习新技术栈)。:IOC容器(Spring)、AOP切面、Spring MVC、Spring Boot微服务。:每个阶段嵌入企业级项目(如医疗平台、在线商城),覆盖需求分析→部署运维全流程。:Maven依赖管理、Git版本控制、Linux部署。中级:解决性能优化(JVM调优)、高并发场景。✅ 优势:灵活时段、可反复学习、云端实验环境。:文件操作、Socket通信、HTTP协议。

leijmdas的专栏 878

注意力机制篇 | YOLOv8改进之在C2f模块添加EMA注意力机制(附2种改进方法)

EMA(Exponential Moving Average)注意力机制是一种用于增强模型性能的注意力机制,它通过对模型的特征图进行加权平均来提取更有用的特征信息。具体来说,EMA注意力机制通过引入一个权重因子来调整特征图中每个位置的重要性,从而使模型能够更好地关注重要的特征。🌈

小哥谈 4180

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

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

java课程培训

ava未来的使用前景广阔 ,从历史来看,Java技能自1995年问世以来,在我国的使用和开发也得到了迅速遍及,总体来看,这些使用主要集中于企业使用开发。据有关单位查询显现,从开发范畴的分布状况上看Web开发占了一半以上,为57.9%,JavaME移动或嵌入式使用占15%,C/S使用占11.7%,系统编程占15.4%。近30%的开发者用Java从事C/S使用或系统级使用的开发。 既然使用Java编程这么广泛,拿相应是Java编程开发市场对于人才的需求就会增加,但是随着Java培训机构的增多,从事J.

weixin_63757008的博客 122

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java毕业生设计在线培训课程网站管理系统计算机源码+系统+mysql+调试部署+lw

java毕业生设计在线培训课程网站管理系统计算机源码+系统+mysql+调试部署+lw。前端技术:Layui、HTML、CSS、JS、JQuery等技术。JSP社团管理系统的设计与实现sqlserver。springboot师生共评的作业管理系统。ssm基于Web的精品课程网站的设计与实现。springboot智能推荐的卫生健康系统。ssm青岛滨海药店管理系统的设计与实现。

bishe505的博客 124

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java面试遇到的问题,SpringMVC--异常处理,帮你解决95%以上的问题

又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考以下是部分内容截图一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

2401_83977626的博客 961

java程序设计颜志军_清华大学出版社-图书详情-《JSP与Servlet程序设计实践教程》...

Java作为面向对象编程语言的杰出代表正被应用在越来越多的领域,从掌上设备到大型机,从嵌入式应用到企业级应用,Java的身影随处可见。Java作为开源的编程语言和开发工具,使得开发者无需担心版权和许可费用的问题,这也使得越来越多的项目倾向于使用Java作为开发语言。更为重要的是,Java作为跨平台的语言,其应用可以方便地在不同操作系统平台之间进行移植,这使得那些将来可能更换运行平台的应用会更多地考...

weixin_33764069的博客 237

java软件工程师面试培训_Java 软件工程师 面试集锦

java 是如何进行异常处理的Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和fi...

weixin_36471865的博客 176

java培训学费_南通JAVA培训哪个好学费多少

渡课IT教育的初创团队成立于2006年,致力于培养符合时代要求的高新IT技术人才。通过十余年的发展,已具备丰厚的软件开发类学科教研和培养能力。自2012年开始,团队先后打造了包括视觉设计类课程(UI设计、电商平面设计等)、企业自媒体营销课程、大数据云计算课程、人工智能算法课程等。形成了在软件开发、视觉设计、企业信息化管理、大数据人工智能等 4 个核心版块的主力产品结构。同时,我们展开了青少年编程实...

weixin_39601657的博客 154
上一篇: JSP培训(12)——Java Web应用国际化
下一篇: JSP培训(14)——购物车实例(上)
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值