使用REQUESTDISPATCHER对象调用错误页面
问题陈述
InfoSuper公司已经创建了一个动态网站。发生错误时,浏览器中显示的堆栈跟踪很难理解。公司的系统分析师David Wong让公司的软件程序员Don Allen创建自定义错误页面。servlet引发异常时,应使用RequestDisapatcher对象向自定义错误页面分发请求。之后,错误页面应在浏览器中可以理解的格式显示错误。Don决定创建一个应用程序,通过传送默认字符串值samplestting并将其转换为整数值引发NumberFormatException异常来进行测试。
解决方案
要解决上述问题,Don需要执行以下任务:
- 创建Web应用程序。
- 创建将请求对象转发给错误页面的servlet。
- 创建作为自定义错误页面显示错误消息的servlet。
- 为Web应用程序设置欢迎页面。
- 构建并运行Web应用程序。
1. 创建Web应用程序
要使用NetBeans IDE创建Web应用程序,Don需要执行以下步骤:
- 选择“开始”→“所有程序”→“NetBeans 5.5.1”→“NetBeans IDE”。将出现“NETBeans IDE 5.5.1”窗口。
- 选择“文件”→“新建项目”。将出现“新建项目”对话框。
- 在“选择项目”页面的“类别”部分中选择“Web”选项。
- 在“选择项目”页面的“项目”部分中选择“Web应用程序”选项。
- 单击“下一步”按钮。将显示“名称和位置”页面。
- 在“项目名称”文本框中输入InfoSuper。
- 在“项目位置”文本框中输入<盘符>:\JavaProjects。
- 单击“完成”按钮。将显示“NetBeans IDE 5.5.1 - InfoSuper ”窗口。
2.创建将请求对象转发给错误页面的servlet
创建使用RequestDispatcher对象将请求转发到错误页面的servlet,Don需要执行以下步骤:
- 在“项目”选项卡中右击“InfoSuper”节点,然后选择“新建”→“Servlet”。将出现“新建Servlet”对话框。
- 在“类名”文本框中输入ForwardError。
- 在“包”组合框中输入Pack。
- 单击“完成”按钮。
- 确保选择了“ForwardError.java”选项卡。
- 用以下代码段替换ForwardError.java文件的现有代码:
package Pack;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class ForwardError