程序运行难免会发生异常或者错误。当处理JSP页面时,遇到的异常分为两个基本类型:
1. 编译时的错误
2. 运行时的错误。
如果在编译时出现错误,那么将会产生那边错误(错误代码500)。如果错误在JSP编译完成后发生,那么就是运行时错误。如果我们不对错误进行处理,根据服务器的不同,就会显示出不友好的出错页面。同时也暴露了一些信息。
在JSP程序中可以捕获产生的异常,并且在代码中进行异常处理,比如:
<%
try{
int i=Integer.parseInt(request.getParameter("age"))
}
catch(NumberFormatException e)
{
response.sendRedirect("reenter.jsp");
}
%>
在上面的代码中,JSP已经捕获到了异常。但是如果异常在客户端请求时出现并且根本没有捕获到这个异常,那么用户还是会出现不友好的出错界面。这样噩梦需要建立一些异常页面。建立异常页面时,可以在编程中指定JSP出错的页面,也可以再web.xml文件中描述错误代码和出错页面。
在JSP中声明出错页面
由于JSP文件被编译成Servlet执行,出现异常的默认操作就是显示异常从堆栈。JSP页面提供了重写这个默认行为的功能。并且将异常处理转到另一个文件中:
<%@ page errorPage="error.jsp"%>
这样在这个JSP页面中,如果遇到任何为捕获到的Throwable对象,那么就会显示指定的出错页面。
建立错误代码和错误页面
以上是在编程中指定错误页面,有一些异常不是由JSP页面抛出,而是由应用服务器抛出的,比如访问的页面不存在,应用服务器将会抛出页面不存在的异常(错误代码404)
这样的页面同样也是不友好的,我们可以在web.xml文件中对异常进行声明。比如出现错误代码为404,就调用pageNotFound.html页面,出现错误代码为500的异常,就调用internalError.jsp页面。
可以在web.xml文件中进行声明如下:
<?xml version="1.0" encoding="iso-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" version="2.4">
<error-page>
<error-code>404</error-code>
<location>/pageNotFound.html</location>
</error-page>
<error-page>
<error-code>505</error-code>
<location>/internalError.html</location>
</error-page>
<error-page>
<exception-type>java.lang.NumberFormatException</exception-type>
<location>/NumberFormatException.html</location>
</error-page>
可以看出,在声明错误页面时,可以指定错误的代码。
国际化问题
一个真正意义的全球资源,其Web浏览器的内容对每个接收到的用户来说都是易读的。现在大多数全球资源的网站都是英文的。当然,现在也在发生变化,有的网站为一些特定的国家定制非英文版本。比如简单的google.com和google.cn吧。
国际化的问题主要包含以下的内容:
1. 日期、时间
2. 数字
3. 货币
4. 其他一些特殊的字符
也就是说,不同的Locale,显示日期、时间格式是不一样的。当然,不同的语言有自己不同的字符集。
分享到:
相关推荐
exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。 out对象代表提供输出流的访问 page对象代表JSP页面对应的Servlet类实例 pageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有...
作业6 JDBC操作数据库 作业类型:验证性实验 实验目的:理解JDBC接口操作数据库的方法,熟练掌握数据的增删改查。 实验内容: ...通过验证,跳转到success.jsp提示登录成功,否则,在login.jsp页码提示错误。
8 error.jsp 第4章\ch4 div.jsp页面的错误处理页面 9 web.xml 第4章\ch4\WEB-INF 第4章程序应用的描述文件 表5 第5章 序号 文件名称 位置 说明 1 setAutoFlushFalse.jsp 第5章\ch5 测试autoFlush的使用方法 ...
1.5.3 为JSP指定一个错误处理页面 1.6 独家见解——B/S结构与C/S结构的区别 1.7 指点迷津 1.7.1 怎样学好JSP 1.7.2 新手易出现的问题 1.8 不能不说——养成良好的编程习惯 1.9 小结 第2章 ...
2.7 JSP运行时错误处理与应该注意的六个常见问题 37 2.8 JSP小实例 38 2.8.1实例1(在JSP中定义函数) 38 2.8.2实例2(获取各种CGI环境变量) 39 2.8.3实例3(JSP里request变量列表) 42 2. 9本章...
2)JSP页面经过编译之后,将创建一个()。(选择一项) a) applet b) servlet c) application d) exe文件 3)当JSP页面执行自定义标签,遇到结束标签时将调用()方法执行处理。(选择一项) a) ...
完成商品的列表的展示。 3.jsp指令(3个) jsp的指令是指导jsp翻译和运行的命令,jsp包括三大指令: 1)page指令 --- 属性最多的指令(实际开发中page指令默认) ...isErrorPage:当前页面是一个处理错误的页面
2)JSP页面经过编译之后,将创建一个()。(选择一项) a) applet b) servlet c) application d) exe文件 3)当JSP页面执行自定义标签,遇到结束标签时将调用()方法执行处理。(选择一项) a) ...
4.12.3 创建处理指令 133 4.12.4 创建注释 133 4.12.5 复制节点 134 4.12.6 输出格式化的数字 135 4.13 条件处理 144 4.13.1 [xsl:if] 144 4.13.2 [xsl:choose] 145 4.14 排序 146 4.15 变量和参数 150 ...
4.12.3 创建处理指令 133 4.12.4 创建注释 133 4.12.5 复制节点 134 4.12.6 输出格式化的数字 135 4.13 条件处理 144 4.13.1 [xsl:if] 144 4.13.2 [xsl:choose] 145 4.14 排序 146 4.15 变量和参数 150 ...
4.12.3 创建处理指令 133 4.12.4 创建注释 133 4.12.5 复制节点 134 4.12.6 输出格式化的数字 135 4.13 条件处理 144 4.13.1 [xsl:if] 144 4.13.2 [xsl:choose] 145 4.14 排序 146 4.15 变量和参数 150 ...
4.12.3 创建处理指令 133 4.12.4 创建注释 133 4.12.5 复制节点 134 4.12.6 输出格式化的数字 135 4.13 条件处理 144 4.13.1 [xsl:if] 144 4.13.2 [xsl:choose] 145 4.14 排序 146 4.15 变量和参数 150 ...
11.2.5 ActionErrors(错误处理) 11.2.6 DispatchAction(多动作控制器) 11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器...
Java中使用JSP和servlet的这组代码涉及创建一个动态Web应用程序,该应用程序涉及一个作为请求的前端(客户端)注册页面和一个后端数据库存储,该数据库存储由cleint提供的数据并响应前端的成功或错误,因此创建了...
错误日志(Error Log):记录MySQL服务器运行期间的严重错误、警告和其他重要事件。 二进制日志(Binary Log,binlog):记录对数据库进行数据更改(如INSERT、UPDATE、DELETE)的操作序列,用于数据复制和恢复。 ...
2.8.3 在JSP页面中使用Include指令后,JSP不能编译 2.9 精彩回顾 第3章前人栽树后人乘凉 ——、JSP内置对象 3.1 本章学习任务 3.1.1 本章知识体系 3.1.2 实例开发任务 3.2 简化开发JSP内置对象概述 3.2.1 为什么...
(4)页面提取: 首页等页面的头部,左侧导航,底部 等都可以单独的提取到JSP中. 在源页面上进行引用. <%@include file=""%> <jsp:include page="">等 (百度搜索iframe的使用) (5)账单,供应商,用户查询列表...
基于JSP酒店管理系统设计软件程序源码+数据库+WORD毕业设计论文文档。介绍思路 1 《酒店管理系统》 ...以上种种可以看出来,通过使用酒店管理系统能够更加有效的对酒店进行管理和有效的进行信息处理,这样就可以达到
13.2.5 错误处理 13.2.6 使用存储过程作为输入和输出参数 13.3 小结 第14章 使用Blob和Clob管理图像和文档 14.1 大对象 14.1.1 使用Blob存储二进制数据 14.1.2 使用Clob存储文本数据 14.2 从浏览器上载...
13.2.5 错误处理 13.2.6 使用存储过程作为输入和输出参数 13.3 小结 第14章 使用Blob和Clob管理图像和文档 14.1 大对象 14.1.1 使用Blob存储二进制数据 14.1.2 使用Clob存储文本数据 14.2 从浏览器上载...