使用会话API实现会话管理
问题陈述
Larry Wiliams是Countryside Markets服装部的负责人。Larry让公司网站的开发人员John开发一个应用程序,以便跟踪用户选择地衬衫并相应地更新金额。
解决方案
要解决上述问题,John需要执行以下任务:
- 创建Web应用程序。
- 创建登录页面。
- 创建验证用户信息并显示产品信息的servlet。
- 创建在servlet中存储已选择物品的信息的servlet。
- 创建计算并显示金额的servlet。
- 设置Web应用程序的欢迎页面。
- 构建并运行Web应用程序。
1. 创建Web应用程序
要使用NetBeans IDE创建Web应用程序,John需要执行以下步骤:
- 选择“开始”→“所有程序”→“NetBeans 5.5.1”→“NetBeans IDE”。将出现“NetBeans IDE 5.5.1”窗口。
- 选择“文件”→“新建项目”。将出现“新建项目”对话框。
- 在“选择项目”页面的“类别”部分中选择“Web”选项。
- 在“选题题目”页面的“项目”部分中选择“Web应用程序”选项。
- 单击“下一步”按钮。将显示“名称和位置”页面。
- 在“项目名称”文本框中输入CountrySide。
- 在“项目位置”文本框中输入<盘符>:\JavaProject。
- 单击“完成”按钮。将显示“NetBeans IDE 5.5.1-CountrySide”窗口。
2. 创建登录页面
John需要创建一个登录页面作为为用户提供的欢迎页面。该页面应接受用户的用户名和密码。
要创建登录页面,John需要执行以下步骤:
- 在“项目”选项卡中右击“CountrySide”节点,然后选择“新建”→“HTML”。将出现“新建HTML文件”对话框。
- 在“HTML文件名称”文本框中输入Login。
- 单击“完成”按钮。
- 确保选择了“Login.html”选项卡。
- 用以下代码段替换Login.html文件的现有代码:
<HTML>
<TITLE>ONLINE SHOPPING PORTAL</TITLE>
<BODY>
<FORM ACTION = "http://localhost:8080/CountrySide/FirstServlet" METHOD = POST align =CCENTER>
Username:<INPUT TYPE = TEXT NAME ="user" align = CENTER><BR>
Password:<INPUT TYPE = PASSWORD NAME = "password" align = CENTER ><BR>
<INPUT TYPE = SUBMIT VALUE = "login" align =CENTER>
</FORM>
</BODY>
</HTML>
3. 创建验证用户信息并显示产品信息的servlet
要创建验证用户信息并显示产品信息的servlet,John需要执行以下步骤:
- 在“项目”选项卡中右击“CountrySide”节点,然后选择“新建”→“Servlet”。将出现“新建Servlet”对话框。
- 在“类名”文本框中输入FirstServlet。
- 在“包”组合框中输入Pack。
- 单击“完成”按钮。
- 确保选择了“FirstServlet.java”选项卡。
- 用以下代码段替换FirstServlet.java文件的现有代码:
package Pack;
/* Import the required packages.*/
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
/* Define the FirstServlet servlet that extends HttpServlet.*/
public class FirstServlet extends HttpServlet
{
/* Override the doGet() method of HttpServlet class.*/
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
System.out.println("step");
/* Invoke the doPost() method of HttpServlet class.*/
doPost(req, res);
}
/* Override the doPost() method of HttpServlet that implements the servlet functionality.*/
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
String username = req.getParameter("user");
String password = req.getParameter("password");