实现安全性
问题陈述
Chris希望阅读位于服务器上的电子邮件消息。他将自己的登录信息发送到服务器已进行验证。因此,Chris决定用基于表单的验证来验证他的登录信息。但是,他首先决定只用基于表单的验证测试登录页面 。
解决方案
要解决上述问题,Chris需要执行以下任务:
- 用Sun Java System Application Server管理控制创建用户。
- 创建Web应用程序。
- 创建一个Servlet以进行基于表单的验证。
- 创建登录页面。
- 创建错误页面。
- 设置基于表单的验证。
- 设置Web应用程序的欢迎页面。
- 设置安全限制。
- 配置sun-web.xml文件。
- 构建并运行Web应用程序。
1. 用Sun Java System Application Server管理控制台创建用户
要用Sun Java System Application Server管理控制台创建用户,Chris需要执行以下步骤:
- 选择“开始”→“所有程序”→“Sun Microsystems”→“Application Server PE 9”→“启动缺省服务器”启动Sun Java System Application Server。将出现“设置缺省服务器”窗口,其中 显示初始化消息。当服务器启动时,将显示一条消息,声明服务器已启动且准备好接收请求。“设置缺省服务器”窗口还包含Sun Java System Application Server使用的端口信息。
- 按Enter。
- 选择“开始”→“所有程序”→“Sun Microsystems”→“Applicaton Server PE 9”→“管理控制台”。将显示“Sun Java System Application Server管理控制台”窗口。
- 在“用户名”文本框中输入admin。
- 在“密码”文本框中输入adminadmin。
- 单击“登录”按钮登录Sun Java Syetem Application Server管理控制台。将显示“登录 - Windows Internet Explorer”窗口。
- 单击“Application Server”节点查看“常规信息”页面。
- 展开“配置”→“安全”节点。
- 选择“领域”节点。
- 单击“领域”列中的“文件”链接。将显示此文件领域的“编辑领域”页面。
- 单击“管理用户”按钮。将显示“文件用户”页面。
- 单击“文件用户”页面中的“新建”按钮。将显示“新建文件领域用户”页面。
- 在“用户ID”文本框中输入Chris。
- 在“密码”文本框中输入pass。
- 在“确认密码”文本框中输入pass。
- 在“组列表”文本框中输入user。
- 单击“确定”按钮。
- 单击页面右上角的“退出”按钮从Sun Java System Application Server管理控制台中退出。将显示“Microsoft Internet Explorer”窗口。
- 单击“确定”按钮。
- 选择“文件”→“退出”以关闭“Sun Java (TM)System Application Server Platform Edition 9.0 管理控制台 - Windows Internet Explorer”窗口。
2. 创建Web 应用程序
要使用NetBeans IDE创建Web应用程序,Chris需要执行以下步骤:
- 选择“开始”→“所有程序”→“NetBeans 5.5.1 ”→“NetBeans IDE”。将出现NetBeans IDE5.5.1窗口。
- 选择“文件”→“新建项目”。将出现“新建项目”对话框。
- 在“选择项目”页面的“类别”部分中选择“Web”选项。
- 在“选择项目”页面的“项目”部分中选择“Web应用程序”选择。
- 单击“下一步”按钮。将显示“名称和位置”页面。
- 在“项目名称”文本框中输入4B_act1。
- 在“项目位置”文本框中输入<盘符>:/JavaProjects。
- 单击“完成”按钮。将显示“NetBeans IDE 5.5.1 - 4B_act1”窗口。
3. 创建servlet以进行基于表单的验证
要为基于表单的验证创建servlet,Chris需要执行以下步骤:
- 在“项目”选项卡中右击“4B_act1”节点,然后选择“新建”→“Servlet”。将出现“新建Servlet”对话框。
- 在“类名” 文本框中输入LoginSuccess。
- 单击“完成”按钮。
- 确保选择了“LoginSuccess.java”选项卡。
- 用以下代码段替换LoginSuccess.java文件的现有代码:
import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class LoginSuccess extends HttpServlet{public void doGet(HttpServletRequest request, HttpServletResponse response){try{response.