代码注释

xhy_branch
xhy 8 months ago
parent 48346a59b6
commit 280d7a6f2e

@ -1,164 +0,0 @@
package com.itbaizhan.action;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
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 com.itbaizhan.orm.Tgoods;
import com.itbaizhan.orm.Torder;
import com.itbaizhan.orm.TorderItem;
import com.itbaizhan.orm.Tuser;
import com.itbaizhan.service.liuService;
import com.itbaizhan.util.Cart;
// 继承自HttpServlet类这是一个典型的Servlet类用于处理客户端请求
public class buy_servlet extends HttpServlet {
// service方法处理所有客户端请求
// req: HttpServletRequest请求对象res: HttpServletResponse响应对象
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String type = req.getParameter("type"); // 获取URL传来的type参数决定执行的操作
// 判断type的值调用不同的操作方法
if (type.endsWith("addToCart")) {
addToCart(req, res); // 如果操作是添加到购物车
}
if (type.endsWith("orderSubmit")) {
orderSubmit(req, res); // 如果操作是提交订单
}
if (type.endsWith("myorder")) {
myorder(req, res); // 如果操作是查看我的订单
}
if (type.endsWith("orderDetail")) {
orderDetail(req, res); // 如果操作是查看订单明细
}
}
// 添加商品到购物车
public void addToCart(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String goods_id = req.getParameter("goods_id"); // 获取商品ID
int quantity = Integer.parseInt(req.getParameter("quantity")); // 获取商品数量
// 根据商品ID获取商品详情
Tgoods goods = liuService.getGoods(goods_id);
// 创建订单项对象,设置商品和商品数量
TorderItem orderItem = new TorderItem();
orderItem.setGoods(goods);
orderItem.setGoods_quantity(quantity);
// 获取session中的购物车对象
HttpSession session = req.getSession();
Cart cart = (Cart) session.getAttribute("cart");
// 将商品添加到购物车
cart.addGoods(goods_id, orderItem);
// 更新session中的购物车
session.setAttribute("cart", cart);
// 设置成功信息和跳转路径
req.setAttribute("message", "操作成功");
req.setAttribute("path", "site/cart/mycart.jsp"); // 跳转到购物车页面
// 跳转到成功页面
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res); // 跳转到目标页面
}
// 提交订单
public void orderSubmit(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String songhuodizhi = req.getParameter("songhuodizhi"); // 获取送货地址
String fukuanfangshi = req.getParameter("fukuanfangshi"); // 获取付款方式
// 从session中获取购物车对象和当前用户信息
HttpSession session = req.getSession();
Cart cart = (Cart) session.getAttribute("cart");
Tuser user = (Tuser) session.getAttribute("user");
// 创建订单对象并设置相关属性
Torder order = new Torder();
order.setId(String.valueOf(new Date().getTime())); // 设置订单ID使用当前时间戳
order.setBianhao(new SimpleDateFormat("yyyyMMddhhmmss").format(new Date())); // 设置订单编号
order.setShijian(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); // 设置下单时间
order.setZhuangtai("no"); // 订单状态,默认是“未支付”
order.setHuifu(""); // 订单回复信息
order.setSonghuodizhi(songhuodizhi); // 送货地址
order.setFukuanfangshi(fukuanfangshi); // 付款方式
order.setJine(cart.getTotalPrice()); // 总金额
order.setUser_id(user.getId()); // 用户ID
// 保存订单到数据库
liuService.saveOrder(order);
// 遍历购物车中的商品项,保存订单项信息
for (Iterator it = cart.getItems().values().iterator(); it.hasNext();) {
TorderItem orderItem = (TorderItem) it.next(); // 获取购物车中的每一项商品
String id = String.valueOf(new Date().getTime()); // 创建一个新的订单项ID
String order_id = order.getId(); // 获取订单ID
String goods_id = orderItem.getGoods().getId(); // 获取商品ID
int goods_quantity = orderItem.getGoods_quantity(); // 获取商品数量
// 保存订单项信息
liuService.saveOrderItem(id, order_id, goods_id, goods_quantity);
}
// 清空购物车
cart.getItems().clear();
session.setAttribute("cart", cart);
// 将订单信息传递到页面
req.setAttribute("order", order);
req.getRequestDispatcher("site/order/orderSubmit.jsp").forward(req, res); // 跳转到订单提交页面
}
// 查看我的订单
public void myorder(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
HttpSession session = req.getSession();
Tuser user = (Tuser) session.getAttribute("user");
// 从数据库获取当前用户的所有订单
req.setAttribute("orderList", liuService.orderList(user.getId()));
req.getRequestDispatcher("site/order/myorder.jsp").forward(req, res); // 跳转到我的订单页面
}
// 查看订单明细
public void orderDetail(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String order_id = req.getParameter("order_id"); // 获取订单ID
// 打印订单ID调试用
System.out.println(order_id + "DD");
// 从数据库获取订单项信息
req.setAttribute("orderItemList", liuService.orderItemList(order_id));
req.getRequestDispatcher("site/order/orderDetail.jsp").forward(req, res); // 跳转到订单明细页面
}
// 跳转到目标页面
public void dispatch(String targetURI, HttpServletRequest request, HttpServletResponse response) {
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);
try {
dispatch.forward(request, response); // 转发请求到目标页面
} catch (ServletException | IOException e) {
e.printStackTrace(); // 异常处理
}
}
// 初始化Servlet配置
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
// 销毁Servlet通常用来释放资源
public void destroy() {
}
}

@ -1,126 +0,0 @@
package com.itbaizhan.action;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itbaizhan.dao.DB;
import com.itbaizhan.orm.Tcatelog;
// 继承HttpServlet类处理关于菜品类别的增删改查操作
public class catelog_servlet extends HttpServlet {
// service方法是Servlet的核心方法接收请求并分发到不同的功能方法
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String type = req.getParameter("type"); // 获取请求的type参数判断要执行的操作类型
// 根据type值决定执行相应的功能
if (type.endsWith("catelogAdd")) {
catelogAdd(req, res); // 添加菜品类别
}
if (type.endsWith("catelogMana")) {
catelogMana(req, res); // 菜品类别管理
}
if (type.endsWith("catelogDel")) {
catelogDel(req, res); // 删除菜品类别
}
}
// 添加菜品类别
public void catelogAdd(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
// 获取请求参数并设置类别的ID使用当前时间戳
String id = String.valueOf(new Date().getTime());
String name = req.getParameter("name").trim(); // 获取类别名称并去除空格
String del = "no"; // 设置删除标记默认为“no”表示未删除
// 编写SQL插入语句将菜品类别信息插入到数据库中
String sql = "insert into t_catelog(id,name,del) values(?,?,?)";
Object[] params = { id, name, del }; // 参数化SQL查询防止SQL注入
// 创建DB对象并执行SQL语句
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行SQL语句
mydb.closed(); // 关闭数据库连接
// 设置操作成功消息
req.setAttribute("msg", "操作成功");
String targetURL = "/common/msg.jsp"; // 跳转页面路径
dispatch(targetURL, req, res); // 跳转到成功提示页面
}
// 菜品类别管理,展示所有未删除的类别
public void catelogMana(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
List catelogList = new ArrayList(); // 存储所有菜品类别的列表
// 查询所有未删除的菜品类别
String sql = "select * from t_catelog where del='no'";
Object[] params = {}; // 查询没有参数
DB mydb = new DB(); // 创建DB对象用于执行查询操作
try {
mydb.doPstm(sql, params); // 执行SQL查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
// 循环处理查询结果
while (rs.next()) { // 如果有更多数据,继续处理
Tcatelog catelog = new Tcatelog(); // 创建Tcatelog对象用于存储每个类别的信息
catelog.setId(rs.getString("id")); // 设置类别ID
catelog.setName(rs.getString("name")); // 设置类别名称
catelogList.add(catelog); // 将类别对象添加到列表中
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace(); // 处理异常
}
mydb.closed(); // 关闭数据库连接
// 将类别列表传递到前端页面
req.setAttribute("catelogList", catelogList);
req.getRequestDispatcher("admin/catelog/catelogMana.jsp").forward(req, res); // 跳转到类别管理页面
}
// 删除菜品类别将del字段设置为“yes”表示删除
public void catelogDel(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
// 获取请求中传递的类别ID并执行SQL更新语句
String sql = "update t_catelog set del='yes' where id=" + req.getParameter("id");
Object[] params = {}; // 删除操作没有额外的参数
DB mydb = new DB(); // 创建DB对象
mydb.doPstm(sql, params); // 执行更新操作
mydb.closed(); // 关闭数据库连接
// 设置操作成功消息
req.setAttribute("msg", "操作成功");
String targetURL = "/common/msg.jsp"; // 跳转页面路径
dispatch(targetURL, req, res); // 跳转到成功提示页面
}
// 跳转到指定页面
public void dispatch(String targetURI, HttpServletRequest request, HttpServletResponse response) {
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI); // 获取RequestDispatcher对象
try {
dispatch.forward(request, response); // 将请求转发到目标页面
} catch (ServletException | IOException e) {
e.printStackTrace(); // 处理异常
}
}
// 初始化Servlet配置
public void init(ServletConfig config) throws ServletException {
super.init(config); // 调用父类的初始化方法
}
// 销毁Servlet通常用来释放资源
public void destroy() {
// 可以进行资源释放的操作(此处为空)
}
}

@ -1,312 +0,0 @@
package com.itbaizhan.action;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itbaizhan.dao.DB;
import com.itbaizhan.orm.Tgoods;
import com.itbaizhan.service.liuService;
public class goods_servlet extends HttpServlet {
// 处理所有的请求根据type来区分不同的操作
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String type = req.getParameter("type");
// 判断type并调用相应的方法进行处理
if (type.endsWith("goodsAdd")) {
goodsAdd(req, res); // 添加商品
}
if (type.endsWith("goodsMana")) {
goodsMana(req, res); // 商品管理
}
if (type.endsWith("goodsDel")) {
goodsDel(req, res); // 删除商品
}
if (type.endsWith("goodsDetailHou")) {
goodsDetailHou(req, res); // 后台查看商品详细信息
}
if (type.endsWith("goodsPre")) {
goodsPre(req, res); // 商品信息添加前的准备工作
}
if (type.endsWith("goodsEdit")) {
goodsEdit(req, res); // 编辑商品信息
}
if (type.endsWith("goodsNew")) {
goodsNew(req, res); // 获取最新商品
}
if (type.endsWith("goodsByCatelog")) {
goodsByCatelog(req, res); // 按商品类别查看商品
}
if (type.endsWith("goodsDetailQian")) {
goodsDetailQian(req, res); // 前台查看商品详细信息
}
if (type.endsWith("goodsRes")) {
goodsRes(req, res); // 根据商品名称搜索商品
}
}
// 添加商品
public void goodsAdd(HttpServletRequest req, HttpServletResponse res) {
String id = String.valueOf(new Date().getTime()); // 使用当前时间戳作为商品 ID
String catelog_id = req.getParameter("catelog_id");
String bianhao = req.getParameter("bianhao");
String mingcheng = req.getParameter("mingcheng");
String jieshao = req.getParameter("jieshao");
String fujian = req.getParameter("fujian");
int shichangjia = Integer.parseInt(req.getParameter("shichangjia"));
int tejia = Integer.parseInt(req.getParameter("shichangjia")); // 可能是设置的特价,暂时设置为与市场价一样
String del = "no"; // 标记商品未删除
// SQL语句插入商品数据
String sql = "insert into t_goods(id, catelog_id, bianhao, mingcheng, jieshao, fujian, shichangjia, tejia, del) values(?,?,?,?,?,?,?,?,?)";
Object[] params = {id, catelog_id, bianhao, mingcheng, jieshao, fujian, shichangjia, tejia, del};
// 使用数据库操作类执行插入操作
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行SQL插入
mydb.closed(); // 关闭数据库连接
// 返回操作成功信息并跳转至指定页面
req.setAttribute("msg", "操作成功");
String targetURL = "/common/msg.jsp";
dispatch(targetURL, req, res); // 转发到操作成功页面
}
// 商品管理,查看所有商品
public void goodsMana(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
List goodsList = new ArrayList();
String sql = "select * from t_goods where del='no'"; // 查询所有未删除的商品
Object[] params = {};
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询操作
ResultSet rs = mydb.getRs();
while (rs.next()) {
Tgoods goods = new Tgoods(); // 创建Tgoods对象并填充数据
goods.setId(rs.getString("id"));
goods.setCatelog_id(rs.getString("catelog_id"));
goods.setBianhao(rs.getString("bianhao"));
goods.setMingcheng(rs.getString("mingcheng"));
goods.setJieshao(rs.getString("jieshao"));
goods.setFujian(rs.getString("fujian"));
goods.setShichangjia(rs.getInt("shichangjia"));
goods.setTejia(rs.getInt("tejia"));
goods.setDel(rs.getString("del"));
goodsList.add(goods); // 将商品添加到列表中
}
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
// 将商品列表传递到前端页面
req.setAttribute("goodsList", goodsList);
req.getRequestDispatcher("admin/goods/goodsMana.jsp").forward(req, res);
}
// 删除商品
public void goodsDel(HttpServletRequest req, HttpServletResponse res) {
String id = req.getParameter("id");
String sql = "update t_goods set del='yes' where id=" + id; // 更新商品的del字段为'yes'表示删除
Object[] params = {};
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行删除操作
mydb.closed();
req.setAttribute("msg", "操作成功");
String targetURL = "/common/msg.jsp";
dispatch(targetURL, req, res); // 转发到操作成功页面
}
// 后台查看商品详细信息
public void goodsDetailHou(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String id = req.getParameter("id");
req.setAttribute("goods", liuService.getGoods(id)); // 从服务层获取商品详细信息
req.getRequestDispatcher("admin/goods/goodsDetailHou.jsp").forward(req, res);
}
// 商品信息添加前的准备工作
public void goodsPre(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
Tgoods goods = new Tgoods();
String sql = "select * from t_goods where id=?";
Object[] params = {req.getParameter("id")};
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询操作
ResultSet rs = mydb.getRs();
while (rs.next()) {
goods.setId(rs.getString("id"));
goods.setCatelog_id(rs.getString("catelog_id"));
goods.setBianhao(rs.getString("bianhao"));
goods.setMingcheng(rs.getString("mingcheng"));
goods.setJieshao(rs.getString("jieshao"));
goods.setFujian(rs.getString("fujian"));
goods.setShichangjia(rs.getInt("shichangjia"));
goods.setTejia(rs.getInt("tejia"));
goods.setDel(rs.getString("del"));
}
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed();
req.setAttribute("goods", goods); // 将商品信息传递到前端页面
req.getRequestDispatcher("admin/goods/goodsPre.jsp").forward(req, res);
}
// 编辑商品信息
public void goodsEdit(HttpServletRequest req, HttpServletResponse res) {
String id = req.getParameter("id");
String catelog_id = req.getParameter("catelog_id");
String bianhao = req.getParameter("bianhao");
String mingcheng = req.getParameter("mingcheng");
String jieshao = req.getParameter("jieshao");
String fujian = req.getParameter("fujian");
int shichangjia = Integer.parseInt(req.getParameter("shichangjia"));
int tejia = Integer.parseInt(req.getParameter("shichangjia"));
// 更新商品信息
String sql = "update t_goods set catelog_id=?, bianhao=?, mingcheng=?, jieshao=?, fujian=?, shichangjia=?, tejia=? where id=?";
Object[] params = {catelog_id, bianhao, mingcheng, jieshao, fujian, shichangjia, tejia, id};
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行更新操作
mydb.closed();
req.setAttribute("msg", "操作成功");
String targetURL = "/common/msg.jsp";
dispatch(targetURL, req, res); // 转发到操作成功页面
}
// 获取最新商品
public void goodsNew(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
List goodsList = new ArrayList();
String sql = "select * from t_goods where del='no' order by id desc"; // 按商品ID降序排列查询所有未删除的商品
Object[] params = {};
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询操作
ResultSet rs = mydb.getRs();
while (rs.next()) {
Tgoods goods = new Tgoods(); // 创建Tgoods对象并填充数据
goods.setId(rs.getString("id"));
goods.setCatelog_id(rs.getString("catelog_id"));
goods.setBianhao(rs.getString("bianhao"));
goods.setMingcheng(rs.getString("mingcheng"));
goods.setJieshao(rs.getString("jieshao"));
goods.setFujian(rs.getString("fujian"));
goods.setShichangjia(rs.getInt("shichangjia"));
goods.setTejia(rs.getInt("tejia"));
goods.setDel(rs.getString("del"));
goodsList.add(goods); // 将商品添加到列表中
}
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
// 限制最新商品显示数量最多为4个
if (goodsList.size() > 4) {
goodsList = goodsList.subList(0, 4); // 截取前4个商品
}
// 将商品列表传递到前端页面
req.setAttribute("goodsList", goodsList);
req.getRequestDispatcher("site/goods/goodsNew.jsp").forward(req, res); // 转发到前端页面显示最新商品
}
// 根据商品类别查看商品
public void goodsByCatelog(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String catelog_id = req.getParameter("catelog_id");
// 从服务层获取指定类别的商品列表
req.setAttribute("goodsList", liuService.goodsByCatelog(catelog_id));
req.getRequestDispatcher("site/goods/goodsByCatelog.jsp").forward(req, res); // 转发到前端页面显示商品类别
}
// 前台查看商品详细信息
public void goodsDetailQian(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String id = req.getParameter("id");
// 从服务层获取商品的详细信息
req.setAttribute("goods", liuService.getGoods(id));
req.getRequestDispatcher("site/goods/goodsDetailQian.jsp").forward(req, res); // 转发到前端页面显示商品详细信息
}
// 根据商品名称搜索商品
public void goodsRes(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String mingcheng = req.getParameter("mingcheng");
List goodsList = new ArrayList();
String sql = "select * from t_goods where del='no' and mingcheng like '%" + mingcheng.trim() + "%'"; // 根据商品名称进行模糊查询
Object[] params = {};
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询操作
ResultSet rs = mydb.getRs();
while (rs.next()) {
Tgoods goods = new Tgoods(); // 创建Tgoods对象并填充数据
goods.setId(rs.getString("id"));
goods.setCatelog_id(rs.getString("catelog_id"));
goods.setBianhao(rs.getString("bianhao"));
goods.setMingcheng(rs.getString("mingcheng"));
goods.setJieshao(rs.getString("jieshao"));
goods.setFujian(rs.getString("fujian"));
goods.setShichangjia(rs.getInt("shichangjia"));
goods.setTejia(rs.getInt("tejia"));
goods.setDel(rs.getString("del"));
goodsList.add(goods); // 将商品添加到列表中
}
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
// 将商品列表传递到前端页面
req.setAttribute("goodsList", goodsList);
req.getRequestDispatcher("site/goods/goodsRes.jsp").forward(req, res); // 转发到前端页面显示搜索结果
}
// 转发请求到指定页面
public void dispatch(String targetURI, HttpServletRequest request, HttpServletResponse response) {
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);
try {
dispatch.forward(request, response); // 转发请求到目标页面
} catch (ServletException e) {
e.printStackTrace(); // 捕获并打印异常
} catch (IOException e) {
e.printStackTrace(); // 捕获并打印异常
}
}
// 初始化方法初始化Servlet时调用
public void init(ServletConfig config) throws ServletException {
super.init(config); // 调用父类的init()方法进行初始化
}
// 销毁方法在Servlet销毁时调用
public void destroy() {
// 在Servlet销毁时执行清理工作如果有的话
}
}

@ -1,76 +0,0 @@
package com.itbaizhan.action;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itbaizhan.service.liuService;
public class index_servlet extends HttpServlet
// 导航页面服务端小程序
{
/**
* service
*
* 1.
* 2. session便使
* 3. index.jsp
*/
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
// 从liuService类中获取商品分类数据并将其保存到session中
req.getSession().setAttribute("catelogList", liuService.catelogList());
// 转发请求到首页index.jsp页面这个页面会使用“catelogList”来展示商品分类
req.getRequestDispatcher("site/index.jsp").forward(req, res);
}
/**
* dispatch
* URI
* URIJSP
*/
public void dispatch(String targetURI, HttpServletRequest request, HttpServletResponse response)
{
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI); // 获取请求转发器
try
{
// 转发请求到目标页面
dispatch.forward(request, response);
return;
}
catch (ServletException e)
{
e.printStackTrace(); // 捕获并打印ServletException
}
catch (IOException e)
{
e.printStackTrace(); // 捕获并打印IOException
}
}
/**
* initServlet
* Servlet
* init()
*/
public void init(ServletConfig config) throws ServletException
{
super.init(config); // 调用父类的init()方法进行初始化
}
/**
* destroyServlet
*
* 使
*/
public void destroy()
{
// 销毁时执行清理工作,如果需要
}
}

@ -1,299 +0,0 @@
package com.itbaizhan.action;
import java.io.IOException;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
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 com.itbaizhan.dao.DB;
import com.itbaizhan.orm.TLiuyan;
import com.itbaizhan.orm.Tuser;
public class liuyan_servlet extends HttpServlet
{
/**
* service
*
*/
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException
{
// 获取请求的type参数来确定操作类型
String type = req.getParameter("type");
// 根据请求的操作类型,调用相应的方法
if(type.endsWith("liuyanAdd"))
{
liuyanAdd(req, res); // 留言添加
}
if(type.endsWith("liuyanMana"))
{
liuyanMana(req, res); // 留言管理
}
if(type.endsWith("liuyanDel"))
{
liuyanDel(req, res); // 留言删除
}
if(type.endsWith("liuyanHuifu"))
{
liuyanHuifu(req, res); // 留言回复
}
if(type.endsWith("liuyanAll"))
{
liuyanAll(req, res); // 获取所有留言
}
if(type.endsWith("liuyanDetail"))
{
liuyanDetail(req, res); // 留言详细信息
}
}
/**
* liuyanAdd
*
*/
public void liuyanAdd(HttpServletRequest req,HttpServletResponse res)
{
HttpSession session = req.getSession();
Tuser user = (Tuser)session.getAttribute("user"); // 从session中获取当前登录用户
// 获取留言内容
String neirong = req.getParameter("neirong");
String liuyanshi = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()); // 当前时间
String user_id = user.getId(); // 获取用户ID
String huifu = ""; // 默认无回复
String huifushi = ""; // 默认无回复时间
// 构建SQL插入语句
String sql = "insert into t_liuyan(neirong, liuyanshi, user_id, huifu, huifushi) values(?,?,?,?,?)";
Object[] params = {neirong, liuyanshi, user_id, huifu, huifushi};
DB mydb = new DB(); // 创建DB对象
mydb.doPstm(sql, params); // 执行SQL语句
mydb.closed(); // 关闭数据库连接
req.setAttribute("msg", "留言完毕"); // 设置提示信息
String targetURL = "/common/msg.jsp"; // 定义跳转页面
dispatch(targetURL, req, res); // 请求转发到提示页面
}
/**
* liuyanMana
*
*/
public void liuyanMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
List liuyanList = new ArrayList();
String sql = "select * from t_liuyan order by liuyanshi"; // 获取所有留言的SQL语句
Object[] params = {};
DB mydb = new DB(); // 创建DB对象
try
{
mydb.doPstm(sql, params); // 执行SQL查询
ResultSet rs = mydb.getRs(); // 获取结果集
while(rs.next()) // 遍历结果集
{
TLiuyan liuyan = new TLiuyan(); // 创建留言对象
liuyan.setId(rs.getInt("id"));
liuyan.setNeirong(rs.getString("neirong"));
liuyan.setLiuyanshi(rs.getString("liuyanshi"));
liuyan.setUser_id(rs.getString("user_id"));
liuyan.setHuifu(rs.getString("huifu"));
liuyan.setHuifushi(rs.getString("huifushi"));
liuyanList.add(liuyan); // 将留言添加到列表中
}
rs.close(); // 关闭结果集
}
catch(Exception e)
{
e.printStackTrace(); // 打印异常
}
mydb.closed(); // 关闭数据库连接
req.setAttribute("liuyanList", liuyanList); // 将留言列表设置到请求属性中
req.getRequestDispatcher("admin/liuyan/liuyanMana.jsp").forward(req, res); // 转发到留言管理页面
}
/**
* liuyanDelID
*
*/
public void liuyanDel(HttpServletRequest req,HttpServletResponse res)
{
String sql = "delete from t_liuyan where id=" + Integer.parseInt(req.getParameter("id")); // 删除留言的SQL语句
Object[] params = {};
DB mydb = new DB(); // 创建DB对象
mydb.doPstm(sql, params); // 执行删除操作
mydb.closed(); // 关闭数据库连接
req.setAttribute("msg", "留言信息删除完毕"); // 设置删除成功的提示信息
String targetURL = "/common/msg.jsp"; // 定义跳转页面
dispatch(targetURL, req, res); // 请求转发到提示页面
}
/**
* liuyanHuifu
*
*/
public void liuyanHuifu(HttpServletRequest req,HttpServletResponse res)
{
String huifu = req.getParameter("huifu"); // 获取回复内容
String huifushi = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()); // 回复时间
int id = Integer.parseInt(req.getParameter("id")); // 获取留言ID
// 更新留言的回复内容和时间
String sql = "update t_liuyan set huifu=?, huifushi=? where id=?";
Object[] params = {huifu, huifushi, id};
DB mydb = new DB(); // 创建DB对象
mydb.doPstm(sql, params); // 执行更新操作
mydb.closed(); // 关闭数据库连接
req.setAttribute("msg", "回复完毕"); // 设置回复成功的提示信息
String targetURL = "/common/msg.jsp"; // 定义跳转页面
dispatch(targetURL, req, res); // 请求转发到提示页面
}
/**
* liuyanAll
*
*/
public void liuyanAll(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
List liuyanList = new ArrayList();
String sql = "select * from t_liuyan order by liuyanshi"; // 获取所有留言的SQL语句
Object[] params = {};
DB mydb = new DB(); // 创建DB对象
try
{
mydb.doPstm(sql, params); // 执行SQL查询
ResultSet rs = mydb.getRs(); // 获取结果集
while(rs.next()) // 遍历结果集
{
TLiuyan liuyan = new TLiuyan(); // 创建留言对象
liuyan.setId(rs.getInt("id"));
liuyan.setNeirong(rs.getString("neirong"));
liuyan.setLiuyanshi(rs.getString("liuyanshi"));
liuyan.setUser_id(rs.getString("user_id"));
liuyan.setHuifu(rs.getString("huifu"));
liuyan.setHuifushi(rs.getString("huifushi"));
liuyanList.add(liuyan); // 将留言添加到列表中
}
rs.close(); // 关闭结果集
}
catch(Exception e)
{
e.printStackTrace(); // 打印异常
}
mydb.closed(); // 关闭数据库连接
req.setAttribute("liuyanList", liuyanList); // 将留言列表设置到请求属性中
req.getRequestDispatcher("site/liuyan/liuyanAll.jsp").forward(req, res); // 转发到留言展示页面
}
/**
* liuyanDetailID
* ID
*/
public void liuyanDetail(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
int id = Integer.parseInt(req.getParameter("id")); // 获取留言ID
// 获取留言的详细信息
req.setAttribute("liuyan", get_liuyan(id));
// 转发到留言详细页面显示内容
req.getRequestDispatcher("site/liuyan/liuyanDetail.jsp").forward(req, res);
}
/**
* get_liuyanID
* @param id ID
* @return
*/
public TLiuyan get_liuyan(int id)
{
TLiuyan liuyan = new TLiuyan(); // 创建留言对象
// 查询特定ID的留言数据
String sql = "select * from t_liuyan where id=?";
Object[] params = {id};
DB mydb = new DB(); // 创建DB对象
try
{
mydb.doPstm(sql, params); // 执行SQL查询
ResultSet rs = mydb.getRs(); // 获取结果集
while(rs.next()) // 遍历结果集
{
liuyan.setId(rs.getInt("id"));
liuyan.setNeirong(rs.getString("neirong"));
liuyan.setLiuyanshi(rs.getString("liuyanshi"));
liuyan.setUser_id(rs.getString("user_id"));
liuyan.setHuifu(rs.getString("huifu"));
liuyan.setHuifushi(rs.getString("huifushi"));
}
rs.close(); // 关闭结果集
}
catch(Exception e)
{
e.printStackTrace(); // 打印异常
}
mydb.closed(); // 关闭数据库连接
return liuyan; // 返回留言对象
}
/**
* dispatch
* @param targetURI URI
* @param request
* @param response
*/
public void dispatch(String targetURI, HttpServletRequest request, HttpServletResponse response)
{
// 获取目标URI的RequestDispatcher
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);
try
{
dispatch.forward(request, response); // 请求转发
}
catch (ServletException e)
{
e.printStackTrace(); // 打印异常
}
catch (IOException e)
{
e.printStackTrace(); // 打印异常
}
}
/**
* initServlet
* @param config Servlet
*/
public void init(ServletConfig config) throws ServletException
{
super.init(config); // 调用父类的初始化方法
}
/**
* destroyServlet
* Servlet
*/
public void destroy()
{
// 在此方法中可以释放一些资源,如数据库连接等。
}
}

@ -1,194 +0,0 @@
package com.itbaizhan.action;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itbaizhan.dao.DB;
import com.itbaizhan.orm.Torder;
public class order_servlet extends HttpServlet {
/**
* service(type)
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
// 获取请求的type参数来判断要执行的操作
String type = req.getParameter("type");
if (type.endsWith("orderMana")) {
orderMana(req, res); // 订单管理
}
if (type.endsWith("orderDel")) {
orderDel(req, res); // 订单删除
}
if (type.endsWith("orderShouli")) {
orderShouli(req, res); // 受理订单
}
if (type.endsWith("huifuAdd")) {
huifuAdd(req, res); // 添加回复
}
}
/**
* orderMana
* requestJSP
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void orderMana(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
List orderList = new ArrayList(); // 用来保存订单列表
String sql = "select * from t_order order by zhuangtai desc"; // 查询所有订单,按状态倒序排列
Object[] params = {}; // SQL语句参数当前查询没有参数
DB mydb = new DB(); // 创建DB对象来操作数据库
try {
mydb.doPstm(sql, params); // 执行SQL查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) {
Torder order = new Torder(); // 创建Torder对象来封装每一条订单数据
// 从结果集中提取每个字段的值并设置到Torder对象中
order.setId(rs.getString("id"));
order.setBianhao(rs.getString("bianhao"));
order.setShijian(rs.getString("shijian"));
order.setZhuangtai(rs.getString("zhuangtai"));
order.setHuifu(rs.getString("huifu"));
order.setSonghuodizhi(rs.getString("songhuodizhi"));
order.setFukuanfangshi(rs.getString("fukuanfangshi"));
order.setJine(rs.getInt("jine"));
order.setUser_id(rs.getString("user_id"));
// 将订单添加到订单列表
orderList.add(order);
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace(); // 捕获异常并打印堆栈信息
}
mydb.closed(); // 关闭数据库连接
// 将订单列表保存到request中以便JSP页面进行展示
req.setAttribute("orderList", orderList);
req.getRequestDispatcher("admin/order/orderMana.jsp").forward(req, res); // 请求转发到订单管理页面
}
/**
* orderDelID
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void orderDel(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String id = req.getParameter("id"); // 获取要删除订单的ID
// 编写SQL语句删除指定ID的订单
String sql = "delete from t_order where id=?";
Object[] params = { id }; // 设置参数为订单ID
DB mydb = new DB(); // 创建DB对象
mydb.doPstm(sql, params); // 执行删除操作
mydb.closed(); // 关闭数据库连接
// 设置删除成功的消息,并转发到消息页面显示
req.setAttribute("msg", "信息删除完毕");
String targetURL = "/common/msg.jsp";
dispatch(targetURL, req, res);
}
/**
* orderShouli
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void orderShouli(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String id = req.getParameter("id"); // 获取要受理的订单ID
// 编写SQL语句更新订单的状态为"yes"(已受理)
String sql = "update t_order set zhuangtai='yes' where id=?";
Object[] params = { id }; // 设置参数为订单ID
DB mydb = new DB(); // 创建DB对象
mydb.doPstm(sql, params); // 执行更新操作
mydb.closed(); // 关闭数据库连接
// 设置受理成功的消息,并转发到消息页面显示
req.setAttribute("msg", "订单受理完毕");
String targetURL = "/common/msg.jsp";
dispatch(targetURL, req, res);
}
/**
* huifuAdd
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void huifuAdd(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String id = req.getParameter("id"); // 获取订单ID
String huifu = req.getParameter("huifu"); // 获取回复内容
// 编写SQL语句更新订单的回复内容
String sql = "update t_order set huifu=? where id=?";
Object[] params = { huifu, id }; // 设置参数为回复内容和订单ID
DB mydb = new DB(); // 创建DB对象
mydb.doPstm(sql, params); // 执行更新操作
mydb.closed(); // 关闭数据库连接
// 设置回复成功的消息,并转发到消息页面显示
req.setAttribute("msg", "操作成功");
String targetURL = "/common/msg.jsp";
dispatch(targetURL, req, res);
}
/**
* dispatch
* @param targetURI URI
* @param request
* @param response
*/
public void dispatch(String targetURI, HttpServletRequest request, HttpServletResponse response) {
// 获取目标URI的RequestDispatcher
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);
try {
dispatch.forward(request, response); // 执行请求转发
} catch (ServletException e) {
e.printStackTrace(); // 捕获并打印异常
} catch (IOException e) {
e.printStackTrace(); // 捕获并打印异常
}
}
/**
* initServlet
* @param config Servlet
*/
public void init(ServletConfig config) throws ServletException {
super.init(config); // 调用父类的初始化方法
}
/**
* destroyServlet
* Servlet
*/
public void destroy() {
// 在此方法中可以释放一些资源,如数据库连接等
}
}

@ -1,234 +0,0 @@
package com.itbaizhan.action;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
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 com.itbaizhan.dao.DB;
import com.itbaizhan.orm.Tuser;
import com.itbaizhan.service.liuService;
public class user_servlet extends HttpServlet {
/**
* service(type)
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
// 获取请求的type参数来判断要执行的操作
String type = req.getParameter("type");
if (type.endsWith("userReg")) {
userReg(req, res); // 会员注册
}
if (type.endsWith("userLogout")) {
userLogout(req, res); // 会员退出
}
if (type.endsWith("userMana")) {
userMana(req, res); // 会员管理
}
if (type.endsWith("userDel")) {
userDel(req, res); // 会员删除
}
if (type.endsWith("userDetail")) {
userDetail(req, res); // 会员详细信息
}
}
/**
* userReg
*
* @param req HttpServletRequest
* @param res HttpServletResponse
*/
public void userReg(HttpServletRequest req, HttpServletResponse res) {
String id = String.valueOf(new Date().getTime()); // 使用当前时间戳作为用户ID
String loginname = req.getParameter("loginname"); // 获取用户名
String loginpw = req.getParameter("loginpw"); // 获取密码
String name = req.getParameter("name"); // 获取用户姓名
String del = "no"; // 设置删除标志为"no"表示用户没有被删除
// 检查账号是否已经被占用
String s = liuService.panduan_zhanghao(loginname);
if (s.equals("yizhan")) {
// 如果账号已经被占用,返回提示信息
req.setAttribute("message", "账号已被占用,请输入其他账号");
req.setAttribute("path", "site/userreg/userreg.jsp");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
} else {
// 如果账号未被占用,则执行注册操作
String sql = "insert into t_user values(?,?,?,?,?)"; // 插入新用户的SQL语句
Object[] params = {id, loginname, loginpw, name, del}; // 设置SQL语句的参数
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行插入操作
mydb.closed(); // 关闭数据库连接
// 注册成功,返回成功页面
req.setAttribute("message", "注册成功,请登录");
req.setAttribute("path", "site/default.jsp");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
}
/**
* userLogout退
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void userLogout(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
HttpSession session = req.getSession(); // 获取当前会话
session.setAttribute("userType", null); // 清除会话中的用户类型
session.setAttribute("user", null); // 清除会话中的用户信息
// 提示用户退出成功
req.setAttribute("message", "成功退出系统");
req.setAttribute("path", "site/default.jsp");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
/**
* userMana
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void userMana(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
List userList = new ArrayList(); // 用于保存用户信息的列表
String sql = "select * from t_user where del='no'"; // 查询所有未被删除的用户
Object[] params = {}; // SQL查询没有参数
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询操作
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) {
Tuser user = new Tuser(); // 创建Tuser对象来封装每个用户的数据
user.setId(rs.getString("id"));
user.setLoginname(rs.getString("loginname"));
user.setLoginpw(rs.getString("loginpw"));
user.setName(rs.getString("name"));
userList.add(user); // 将用户添加到列表中
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace(); // 捕获异常并打印堆栈信息
}
mydb.closed(); // 关闭数据库连接
// 将用户列表传递给JSP页面
req.setAttribute("userList", userList);
req.getRequestDispatcher("admin/user/userMana.jsp").forward(req, res);
}
/**
* userDelID
* `del`"yes"
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void userDel(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String id = req.getParameter("id"); // 获取要删除用户的ID
String sql = "update t_user set del='yes' where id=?"; // 更新SQL语句将del字段设为"yes"
Object[] params = {id}; // 设置参数为用户ID
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行更新操作
mydb.closed(); // 关闭数据库连接
// 返回删除成功的消息
req.setAttribute("msg", "用户信息删除完毕");
String targetURL = "/common/msg.jsp";
dispatch(targetURL, req, res);
}
/**
* userDetail
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException I/O
*/
public void userDetail(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String id = req.getParameter("id"); // 获取用户ID
List userList = new ArrayList(); // 用于保存用户信息的列表
String sql = "select * from t_user where id=?"; // 查询指定ID的用户
Object[] params = {id}; // 设置参数为用户ID
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询操作
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) {
Tuser user = new Tuser(); // 创建Tuser对象来封装用户数据
user.setId(rs.getString("id"));
user.setLoginname(rs.getString("loginname"));
user.setLoginpw(rs.getString("loginpw"));
user.setName(rs.getString("name"));
userList.add(user); // 将用户添加到列表中
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace(); // 捕获异常并打印堆栈信息
}
mydb.closed(); // 关闭数据库连接
// 获取用户信用信息并将数据传递给JSP页面
req.setAttribute("userList", userList);
req.setAttribute("xinyongList", liuService.getxinyongList(id));
req.getRequestDispatcher("admin/user/userDetail.jsp").forward(req, res);
}
/**
* dispatch
* @param targetURI URI
* @param request
* @param response
*/
public void dispatch(String targetURI, HttpServletRequest request, HttpServletResponse response) {
// 获取目标URI的RequestDispatcher
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI); // 获取请求转发器
try {
dispatch.forward(request, response); // 执行请求转发
return;
} catch (ServletException e) {
e.printStackTrace(); // 捕获ServletException异常并打印堆栈信息
} catch (IOException e) {
e.printStackTrace(); // 捕获IOException异常并打印堆栈信息
}
}
/**
* initServlet
* @param config ServletConfigServlet
* @throws ServletException Servlet
*/
public void init(ServletConfig config) throws ServletException {
super.init(config); // 调用父类的init方法进行初始化
}
/**
* destroyServlet
*/
public void destroy() {
// 在此方法中执行清理工作,例如关闭数据库连接等资源释放操作。
}
}

@ -1,160 +0,0 @@
package com.itbaizhan.action;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itbaizhan.dao.DB;
import com.itbaizhan.orm.Txinyong;
public class xinyong_servlet extends HttpServlet {
/**
* servicetype
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException IO
*/
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String type = req.getParameter("type"); // 获取请求参数 type
if (type.endsWith("xinyongAdd")) {
xinyongAdd(req, res); // 调用信用添加方法
}
if (type.endsWith("xinyongMana")) {
xinyongMana(req, res); // 调用信用管理方法
}
if (type.endsWith("xinyongDel")) {
xinyongDel(req, res); // 调用信用删除方法
}
}
/**
*
* @param req HttpServletRequest
* @param res HttpServletResponse
*/
public void xinyongAdd(HttpServletRequest req, HttpServletResponse res) {
String id = String.valueOf(new Date().getTime()); // 使用当前时间戳生成唯一ID
String shuxing = req.getParameter("shuxing").trim(); // 获取信用属性
String neirong = req.getParameter("neirong").trim(); // 获取信用内容
String shijian = req.getParameter("shijian").trim(); // 获取时间
String user_id = req.getParameter("user_id").trim(); // 获取用户ID
// 插入SQL语句
String sql = "insert into t_xinyong(id, shuxing, neirong, shijian, user_id) values(?,?,?,?,?)";
Object[] params = {id, shuxing, neirong, shijian, user_id};
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行插入操作
mydb.closed(); // 关闭数据库连接
req.setAttribute("msg", "操作成功"); // 设置提示消息
String targetURL = "/common/msg.jsp"; // 跳转到提示页面
dispatch(targetURL, req, res); // 执行请求转发
}
/**
*
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException IO
*/
public void xinyongMana(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String user_id = req.getParameter("user_id").trim(); // 获取用户ID
List xinyongList = new ArrayList(); // 用于存储信用记录的列表
String sql = "select * from t_xinyong where user_id=?";
Object[] params = {user_id};
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询操作
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) {
Txinyong xinyong = new Txinyong(); // 创建信用对象
// 设置信用对象的属性
xinyong.setId(rs.getString("id"));
xinyong.setShuxing(rs.getString("shuxing"));
xinyong.setNeirong(rs.getString("neirong"));
xinyong.setShijian(rs.getString("shijian"));
xinyong.setUser_id(rs.getString("user_id"));
xinyongList.add(xinyong); // 将信用对象添加到列表中
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace(); // 捕获异常并打印堆栈信息
}
mydb.closed(); // 关闭数据库连接
req.setAttribute("xinyongList", xinyongList); // 将信用列表传递到请求中
req.getRequestDispatcher("admin/xinyong/xinyongMana.jsp").forward(req, res); // 转发请求到管理页面
}
/**
*
* @param req HttpServletRequest
* @param res HttpServletResponse
* @throws ServletException Servlet
* @throws IOException IO
*/
public void xinyongDel(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String id = req.getParameter("id").trim(); // 获取信用记录ID
String sql = "delete from t_xinyong where id=?";
Object[] params = {id};
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行删除操作
mydb.closed(); // 关闭数据库连接
req.setAttribute("msg", "操作成功"); // 设置提示消息
String targetURL = "/common/msg.jsp"; // 跳转到提示页面
dispatch(targetURL, req, res); // 执行请求转发
}
/**
*
* @param targetURI URI
* @param request HttpServletRequest
* @param response HttpServletResponse
*/
public void dispatch(String targetURI, HttpServletRequest request, HttpServletResponse response) {
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI); // 获取请求转发器
try {
dispatch.forward(request, response); // 执行转发
return;
} catch (ServletException e) {
e.printStackTrace(); // 捕获并打印ServletException异常
} catch (IOException e) {
e.printStackTrace(); // 捕获并打印IOException异常
}
}
/**
* ServletServlet
* @param config ServletConfigServlet
* @throws ServletException Servlet
*/
public void init(ServletConfig config) throws ServletException {
super.init(config); // 调用父类的init方法进行初始化
}
/**
* ServletServlet
*
*/
public void destroy() {
// 在此方法中执行清理工作,例如释放数据库连接等
}
}

@ -1,124 +0,0 @@
package com.itbaizhan.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DB {
private Connection con; // 用于数据库连接的Connection对象
private PreparedStatement pstm; // 用于执行SQL语句的PreparedStatement对象
private String user = "root"; // 数据库连接的用户名
private String password = "root"; // 数据库连接的密码
private String className = "com.mysql.cj.jdbc.Driver"; // MySQL数据库的JDBC驱动类名
private String url = "jdbc:mysql://localhost:3306/db_dingcan?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8"; // 数据库URL包含数据库名、字符编码、时区等配置
/**
*
*/
public DB() {
try {
// 加载MySQL JDBC驱动程序
Class.forName(className);
} catch (ClassNotFoundException e) {
System.out.println("加载数据库驱动失败!");
e.printStackTrace();
}
}
/**
*
* @return Connection
*/
public Connection getCon() {
try {
// 通过DriverManager获取数据库连接
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.out.println("创建数据库连接失败!");
con = null; // 如果连接失败设置con为null
e.printStackTrace();
}
return con;
}
/**
*
* @param sql SQL
* @param params SQL
*/
public void doPstm(String sql, Object[] params) {
// 如果SQL语句不为空
if (sql != null && !sql.equals("")) {
// 如果参数为空,则初始化为空数组
if (params == null) {
params = new Object[0]; // 初始化参数为空数组
}
// 获取数据库连接
getCon();
if (con != null) {
try {
System.out.println(sql); // 打印执行的SQL语句方便调试
// 创建PreparedStatement对象传入SQL语句
pstm = con.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE, // 结果集类型:不敏感,不会因为数据库的变化而更新
ResultSet.CONCUR_READ_ONLY); // 结果集:只读
// 设置SQL语句中的参数
for (int i = 0; i < params.length; i++) {
pstm.setObject(i + 1, params[i]); // 设定PreparedStatement对象的参数
}
// 执行SQL语句
pstm.execute(); // 执行语句,增、删、改操作
} catch (SQLException e) {
System.out.println("doPstm()方法出错!");
e.printStackTrace();
}
}
}
}
/**
*
* @return ResultSet
* @throws SQLException SQL
*/
public ResultSet getRs() throws SQLException {
return pstm.getResultSet(); // 获取PreparedStatement对象的查询结果集
}
/**
*
* @return int
* @throws SQLException SQL
*/
public int getCount() throws SQLException {
return pstm.getUpdateCount(); // 获取更新操作影响的记录数(如插入、更新、删除的行数)
}
/**
* PreparedStatement
*/
public void closed() {
try {
if (pstm != null) {
pstm.close(); // 关闭PreparedStatement对象
}
} catch (SQLException e) {
System.out.println("关闭pstm对象失败");
e.printStackTrace();
}
try {
if (con != null) {
con.close(); // 关闭数据库连接
}
} catch (SQLException e) {
System.out.println("关闭con对象失败");
e.printStackTrace();
}
}
}

@ -1,95 +0,0 @@
package com.itbaizhan.util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import com.itbaizhan.orm.Tgoods;
import com.itbaizhan.orm.TorderItem;
public class Cart {
// 购物车属性
// 使用一个 Map 存储购物项Map 的 key 是商品的 idvalue 是购物项 TorderItem
protected Map<String, TorderItem> items;
/**
*
* items null HashMap
*/
public Cart() {
if (items == null) {
items = new HashMap<String, TorderItem>(); // 初始化购物车,使用 HashMap 存储购物项
}
}
/**
*
*
*
* @param goodsId ID
* @param orderItem
*/
public void addGoods(String goodsId, TorderItem orderItem) {
// 判断购物车中是否已经存在该商品
if (items.containsKey(goodsId)) { // 如果购物车中已存在该商品
// 获取原有的购物项,更新商品的数量
TorderItem _orderItem = items.get(goodsId); // 获取购物车中原有的购物项
_orderItem.setGoods_quantity(_orderItem.getGoods_quantity() + orderItem.getGoods_quantity()); // 更新数量
items.put(goodsId, _orderItem); // 更新购物车中的该商品项
} else { // 如果购物车中没有该商品
items.put(goodsId, orderItem); // 将新的购物项添加到购物车
}
}
/**
*
* ID
*
* @param goodsId ID
*/
public void delGoods(String goodsId) {
items.remove(goodsId); // 从购物车中删除指定商品
}
/**
*
*
* @param goodsId ID
* @param quantity
*/
public void updateCart(String goodsId, int quantity) {
// 获取购物车中的购物项,并更新数量
TorderItem orderItem = items.get(goodsId);
orderItem.setGoods_quantity(quantity); // 更新数量
items.put(goodsId, orderItem); // 更新购物车中的该商品项
}
/**
*
*
*
* @return
*/
public int getTotalPrice() {
int totalPrice = 0; // 初始化总价为 0
// 遍历购物车中的所有商品
for (Iterator it = items.values().iterator(); it.hasNext();) {
TorderItem orderItem = (TorderItem) it.next(); // 获取当前购物项
Tgoods goods = orderItem.getGoods(); // 获取商品信息
int quantity = orderItem.getGoods_quantity(); // 获取商品数量
totalPrice += goods.getTejia() * quantity; // 计算该商品的总价并累加到总价
}
return totalPrice; // 返回购物车中商品的总价
}
/**
*
* Map key IDvalue
*
* @return
*/
public Map<String, TorderItem> getItems() {
return items; // 返回购物车中的所有商品
}
}

@ -1,78 +0,0 @@
package com.itbaizhan.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class EncodingFilter implements Filter {
// 用于存储编码格式
protected String encoding = null;
// 用于存储 Filter 的配置信息
protected FilterConfig filterConfig = null;
/**
*
*/
public void destroy() {
this.encoding = null; // 清空编码设置
this.filterConfig = null; // 清空过滤器配置
}
/**
*
*
*
* @param request 访
* @param response
* @param chain FilterChain Servlet
* @throws IOException IO
* @throws ServletException Servlet
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 获取请求的编码格式
String encoding = selectEncoding(request);
// 如果编码格式不为空,则设置请求和响应的编码格式
if (encoding != null) {
request.setCharacterEncoding(encoding); // 设置请求的编码
response.setCharacterEncoding(encoding); // 设置响应的编码
}
// 将请求和响应传递给下一个过滤器或目标资源
chain.doFilter(request, response);
}
/**
*
* web.xml
*
* @param filterConfig
* @throws ServletException
*/
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
// 获取 web.xml 中配置的编码格式参数
this.encoding = filterConfig.getInitParameter("encoding");
}
/**
*
*
*
* @param request
* @return
*/
protected String selectEncoding(ServletRequest request) {
// 返回初始化时配置的编码格式
return (this.encoding);
}
}
Loading…
Cancel
Save