servlet

发布时间:2024-11-24 16:24

思路分析:
1. 根据需求抽象出业务对象
User{
usrename;
password;
}

ShoppingCarItem{
product;
num;
}

ShoppingCar{
List<ShoppingCarItem>
}

2. 写Servlet处理请求
...

domain:

package cn.itcast.cd.domain; import java.util.ArrayList; import java.util.List; import java.util.UUID; public class ShoppingCar { private List<ShoppingCarItem> list = new ArrayList<ShoppingCarItem>(); public void add(String product,Integer num){ ShoppingCarItem carItem = new ShoppingCarItem(); carItem.setNum(num); carItem.setProduct(product); carItem.setId(UUID.randomUUID().toString()); list.add(carItem); } public void remove(String id){ for (ShoppingCarItem item : list) { if(id.equals(item.getId())){ list.remove(item); break; } } } public List<ShoppingCarItem> getList() { return list; } } package cn.itcast.cd.domain; public class ShoppingCarItem { private String product; private Integer num; private String id; public String getProduct() { return product; } public void setProduct(String product) { this.product = product; } public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String getId() { return id; } public void setId(String id) { this.id = id; } } package cn.itcast.cd.domain; public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }

package cn.itcast.cd.domain;

import java.util.ArrayList;

import java.util.List;

import java.util.UUID;

public class ShoppingCar {

private List<ShoppingCarItem> list = new ArrayList<ShoppingCarItem>();

public void add(String product,Integer num){

ShoppingCarItem carItem = new ShoppingCarItem();

carItem.setNum(num);

carItem.setProduct(product);

carItem.setId(UUID.randomUUID().toString());

list.add(carItem);

}

public void remove(String id){

for (ShoppingCarItem item : list) {

if(id.equals(item.getId())){

list.remove(item);

break;

}

}

}

public List<ShoppingCarItem> getList() {

return list;

}

}

package cn.itcast.cd.domain;

public class ShoppingCarItem {

private String product;

private Integer num;

private String id;

public String getProduct() {

return product;

}

public void setProduct(String product) {

this.product = product;

}

public Integer getNum() {

return num;

}

public void setNum(Integer num) {

this.num = num;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

}

package cn.itcast.cd.domain;

public class User {

private String username;

private String password;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

servlet:

package cn.itcast.cd.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import cn.itcast.cd.domain.ShoppingCar; public class BuyServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); String product = request.getParameter("product"); String num = request.getParameter("num"); HttpSession httpSession = request.getSession(); ShoppingCar shoppingCar = (ShoppingCar)httpSession.getAttribute("SHOPINGCAR_IN_SESSION"); if(shoppingCar==null){ shoppingCar = new ShoppingCar(); httpSession.setAttribute("SHOPINGCAR_IN_SESSION", shoppingCar); } shoppingCar.add(product, Integer.parseInt(num)); PrintWriter pw = response.getWriter(); pw.println("添加成功<br/>"); pw.println("<a href='/buy.html'>继续购物</a><br/>"); pw.println("<a href='/list'>管理购物</a><br/>"); } } package cn.itcast.cd.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import cn.itcast.cd.domain.ShoppingCar; import cn.itcast.cd.domain.ShoppingCarItem; import cn.itcast.cd.domain.User; public class ListServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); HttpSession httpSession = request.getSession(); User user = (User) httpSession.getAttribute("USER_IN_SESSION"); PrintWriter pw = response.getWriter(); pw.println("当前用户为:"+user.getUsername()+"<br/>"); ShoppingCar shoppingCar = (ShoppingCar) httpSession.getAttribute("SHOPINGCAR_IN_SESSION"); if(shoppingCar!=null){ for (ShoppingCarItem item : shoppingCar.getList()) { pw.println("货品:"+item.getProduct()+" 数量:"+item.getNum()+"<br/>"); } }else{ pw.println("当前用户没有购物车."); } } } package cn.itcast.cd.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import cn.itcast.cd.domain.User; public class LoginServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); String username = request.getParameter("username"); String password = request.getParameter("password"); User user = new User(); user.setPassword(password); user.setUsername(username); HttpSession httpSession = request.getSession(); httpSession.setAttribute("USER_IN_SESSION", user); PrintWriter pw = response.getWriter(); pw.println("欢迎:"+username+"<br/>"); pw.println("<a href='/buy.html'>购物</a><br/>"); pw.println("<a href='/list'>管理购物</a><br/>"); } }

package cn.itcast.cd.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import cn.itcast.cd.domain.ShoppingCar;

public class BuyServlet extends HttpServlet {

@Override

protected void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=utf-8");

String product = request.getParameter("product");

String num = request.getParameter("num");

HttpSession httpSession = request.getSession();

ShoppingCar shoppingCar = (ShoppingCar)httpSession.getAttribute("SHOPINGCAR_IN_SESSION");

if(shoppingCar==null){

shoppingCar = new ShoppingCar();

httpSession.setAttribute("SHOPINGCAR_IN_SESSION", shoppingCar);

}

shoppingCar.add(product, Integer.parseInt(num));

PrintWriter pw = response.getWriter();

pw.println("添加成功<br/>");

pw.println("<a href='/buy.html'>继续购物</a><br/>");

pw.println("<a href='/list'>管理购物</a><br/>");

}

}

package cn.itcast.cd.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import cn.itcast.cd.domain.ShoppingCar;

import cn.itcast.cd.domain.ShoppingCarItem;

import cn.itcast.cd.domain.User;

public class ListServlet extends HttpServlet {

@Override

protected void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=utf-8");

HttpSession httpSession = request.getSession();

User user = (User) httpSession.getAttribute("USER_IN_SESSION");

PrintWriter pw = response.getWriter();

pw.println("当前用户为:"+user.getUsername()+"<br/>");

ShoppingCar shoppingCar = (ShoppingCar) httpSession.getAttribute("SHOPINGCAR_IN_SESSION");

if(shoppingCar!=null){

for (ShoppingCarItem item : shoppingCar.getList()) {

pw.println("货品:"+item.getProduct()+" 数量:"+item.getNum()+"<br/>");

}

}else{

pw.println("当前用户没有购物车.");

}

}

}

package cn.itcast.cd.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import cn.itcast.cd.domain.User;

public class LoginServlet extends HttpServlet {

@Override

protected void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=utf-8");

String username = request.getParameter("username");

String password = request.getParameter("password");

User user = new User();

user.setPassword(password);

user.setUsername(username);

HttpSession httpSession = request.getSession();

httpSession.setAttribute("USER_IN_SESSION", user);

PrintWriter pw = response.getWriter();

pw.println("欢迎:"+username+"<br/>");

pw.println("<a href='/buy.html'>购物</a><br/>");

pw.println("<a href='/list'>管理购物</a><br/>");

}

}

用户登录页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>用户登录</title> </head> <body> <form action="/login" method="post"> 用户名:<input type="text" name="username"><br/> 密码:<input type="text" name="password"><br/> <input type="submit" value="登录"> </form> </body> </html>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>用户登录</title>

</head>

<body>

<form action="/login" method="post">

用户名:<input type="text" name="username"><br/>

密码:<input type="text" name="password"><br/>

<input type="submit" value="登录">

</form>

</body>

</html>

购买页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>购物货品</title> </head> <body> <form action="/buy" method="post"> 货品:<select name="product"> <option value="鼠标">鼠标</option> <option value="键盘">键盘</option> <option value="内存">内存</option> <option value="显示器">显示器</option> </select> <br/> 数量:<input type="text" name="num"><br/> <input type="submit" value="购买"> </form> </body> </html>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>购物货品</title>

</head>

<body>

<form action="/buy" method="post">

货品:<select name="product">

<option value="鼠标">鼠标</option>

<option value="键盘">键盘</option>

<option value="内存">内存</option>

<option value="显示器">显示器</option>

</select> <br/>

数量:<input type="text" name="num"><br/>

<input type="submit" value="购买">

</form>

</body>

</html>

web.xml配置:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>cn.itcast.cd.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <servlet> <servlet-name>BuyServlet</servlet-name> <servlet-class>cn.itcast.cd.servlet.BuyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>BuyServlet</servlet-name> <url-pattern>/buy</url-pattern> </servlet-mapping> <servlet> <servlet-name>ListServlet</servlet-name> <servlet-class>cn.itcast.cd.servlet.ListServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ListServlet</servlet-name> <url-pattern>/list</url-pattern> </servlet-mapping> </web-app>

网址:servlet https://www.yuejiaxmz.com/news/view/238868

相关内容

servlet简单例子1
jsp实验应用Servlet实现购物车讲解
校园二手物品交易系统
关于SpringMVC中找不到标签的解决办法
.net core 2.0性能 .net core效率
jsp大学生心理健康检测咨询平台gps17
jsp青少年运动健身网站xl68g(程序+源码+数据库+调试部署+开发环境)
JSP家居管理系统pho64
基于java+springboot+vue的二手旧物置换网站(源码+LW+部署讲解)
dwr.xml配置(allow标签

随便看看