我的第一个web项目

过滤器

全局过滤器

package com.hh.filter;

import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebFilter("*")
public class FilterCharacter implements Filter {
    //初始化
    public void init(FilterConfig config) throws ServletException {
    }
    //销毁
    public void destroy() {
    }
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException {
        //强转
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response= (HttpServletResponse) res;
        //解决前端提交乱码
        String method = request.getMethod();
        if ("POST".equals(method)){
            request.setCharacterEncoding("utf-8");
        }
        response.setContentType("text/html;charset=utf-8");
        //放行
        chain.doFilter(request, response);
    }
}

登录过滤器

package com.hh.filter;

import com.hh.pojo.PlayUser;
import com.hh.service.impl.PUserServiceImpl;

import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.net.URLDecoder;

/**
 * @Danile C
 */
@WebFilter(value = "/login.jsp",dispatcherTypes ={DispatcherType.REQUEST,DispatcherType.FORWARD} )
public class AutoPlayUserLogin implements Filter {
    //初始化
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //1.转换成http
        HttpServletRequest request =(HttpServletRequest) servletRequest;
        HttpServletResponse response=(HttpServletResponse) servletResponse;
        //2.直接访问请求转发获取cookie
        Cookie[] cookies = request.getCookies();
        if (cookies!=null){
            //遍历cookie
            String content =null;
            for (Cookie cookie : cookies) {
                //判断获取的cookie是否为autoUser
                if ("autoUser".equals(cookie.getName())){
                   content = cookie.getValue();
                }
            }

            if (content!=null) {
                //密码解码
                content = URLDecoder.decode(content, "utf-8");
                String[] str = content.split("=");
                PUserServiceImpl ps = new PUserServiceImpl();
                PlayUser playUser = ps.PlayUserLogin(str[0], str[1]);
                System.out.println(playUser);
                if (playUser != null) {
                    //获取session
                    HttpSession session = request.getSession();
                    //截取name姓氏
                    String subName = playUser.getName().substring(0, 1);
                    //获取playuser判断性别
                    if (playUser.getSex().equals("男")) {
                        session.setAttribute("msg", "先生");
                    }else {
                        session.setAttribute("msg","女士");
                    }
                    //Session中添加userName
                    session.setAttribute("subName",subName);
                    session.setAttribute("playuser", playUser);
                    response.sendRedirect(request.getContextPath() + "/");

                } else {
                    filterChain.doFilter(request, response);
                }
            }else {
                filterChain.doFilter(request,response);
            }
        }else {
            filterChain.doFilter(request,response);
        }
    }
    @Override
    public void destroy() {
        Filter.super.destroy();
    }
}

用户模块

package com.hh.pojo;
import com.hh.utils.UUIDUtils;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @Danile C
 * 玩家实体类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PlayUser {
    private String id; //id
    private String username; //用户名
    private String password; //密码
    private String name; //真实姓名
    private String sex; //性别
    private int age; //年龄
    private String email; //邮箱
    private Date birthday; //生日
    private int activation; //激活状态
    private String code; //激活码
    private String head; //头像
}

用户注册

在这里插入图片描述

异步校验用户名

在这里插入图片描述
1.js代码

//jquery页面载入事件
        $(function (){
            //鼠标离开焦点
            $("#username").blur(function (){
                //获取姓名参数
                var username = $(this).val();
                var div=$('#tip');
                $.ajax({
                    //向后端传递参数
                    "url":"${pageContext.request.contextPath}/PlayUser?methodName=checkPlayUser&username="+username,
                    "type" :"get", //提交方式
                    "success": function (data){ //服务器返回给客户端的数据data(json)
                        if (data.code==1){
                            //校验通过
                            div.html(data.msg);
                            div.css("color","green");
                        }else {
                            //失败
                            div.html(data.msg);
                            div.css("color","red");
                        }
                    },
                    "dataType":"json"
                });

            });
        });

2.servlet代码

/**
     * 异步校验用户名
     */
    public void checkPlayUser(HttpServletRequest request,HttpServletResponse response) throws IOException {
        //获取参数username
        String username = request.getParameter("username");
        //创建service实例
        PUserServiceImpl pus = new PUserServiceImpl();
        Mange un = pus.findUserName(username);
        //通过JsonUtils封装Mange
        String s = JsonUtils.object2json(un);
        System.out.println(s);
        //响应给前端
        response.getWriter().write(s);
    }

3.serviceImpl和daoImpl代码

 //校验用户名
    @Override
    public Mange findUserName(String userName) {
        try {
            PlayUser pUser = ud.findPUser(userName);
            Mange mange = new Mange();
            if (pUser!=null){
                mange.setCode(0);
                mange.setMsg("对不起,用户名被占用");
            }else {
                mange.setCode(1);
                mange.setMsg("恭喜您,用户名可使用");
            }
            return mange;
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return null;
    }
     private QueryRunner qr = new QueryRunner(DruidUtils.getDaraSours());
    //注册用户名校验
    @Override
    public PlayUser findPUser(String userName) throws SQLException {
        String sql = "select * from user where username=?";
        PlayUser pu = qr.query(sql,new BeanHandler<>(PlayUser.class), userName);
        return pu;
    }

注册

/*
    *用户注册功能
    */
    public void playUserRegister(HttpServletRequest request,HttpServletResponse response) throws Exception {
        //从前端获取获取验证码
        String code = request.getParameter("code");
        System.out.println(code);
        //获取session对象
        HttpSession session = request.getSession();
        if (session != null) {
            //获取存储的验证码
            String checkcode = (String) session.getAttribute("CHECKCODE_SERVER");
            //验证码一次验证,解绑
            session.removeAttribute("CHECKCODE_SERVER");
            if (code == null || !code.equalsIgnoreCase(checkcode)) {
                //错误提示
                request.setAttribute("msg", "验证码校验失败!");
                //请求转发到注册页面
                request.getRequestDispatcher("/message.jsp").forward(request, response);
            }
            Map<String, String[]> map = null;
            PlayUser pu = null;
                //接受前台用户注册的其他用户信息
                map = request.getParameterMap();
                System.out.println(map);
                //封装playUser对象
                pu = new PlayUser();
                //自定义转换器
                ConvertUtils.register(new DateConverter(), Date.class);
                //自动set
                BeanUtils.populate(pu, map);

                //通过UUID自动产生随机id
                pu.setId(UUIDUtils.getId());
                //密码加密
                pu.setPassword(MD5Utils.md5(pu.getPassword()));
                //用户激活码
                pu.setCode(UUIDUtils.getCode());
                //自动生成用户年龄
                Date date = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
                Integer year = Integer.valueOf(sdf.format(date));
                Integer thisYear = Integer.valueOf(sdf.format(pu.getBirthday()));
                int age = year - thisYear;
                pu.setAge(age);
                //添加头像地址
                //pu.setHead(pathname);
                //调用针对用户业务接口
                PUserServiceImpl ps = new PUserServiceImpl();
                ps.addPlayUser(pu);
                //提示信息
                request.setAttribute("msg", "恭喜您,注册成功");
                request.getRequestDispatcher("/message.jsp").forward(request, response);
            }
        }

校验验证码

package com.hh.utils;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
/**
 * 验证码  :通过java语言获取绘制图片
 */
@WebServlet("/checkCodeServlet")
public class CheckCodeServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		
		//服务器通知浏览器不要缓存
		response.setHeader("pragma","no-cache") ;
		response.setHeader("cache-control","no-cache") ;
		response.setHeader("expires","0") ;
		
		//在内存中创建一个长80,宽30的图片,默认黑色背景
		//参数一:长
		//参数二:宽
		//参数三:颜色
		int width = 80;
		int height = 30;
		BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
		
		//获取画笔
		Graphics g = image.getGraphics();
		//设置画笔颜色为灰色
		g.setColor(Color.GRAY);
		//填充图片
		g.fillRect(0,0, width,height);
		
		//产生4个随机验证码,12Ey
		String checkCode = getCheckCode();
		//将验证码放入HttpSession中 //存储在服务器端
		request.getSession().setAttribute("CHECKCODE_SERVER",checkCode);
		
		//设置产生的四个随机数的颜色为黄色
		g.setColor(Color.YELLOW);
		//设置字体的小大
		g.setFont(new Font("黑体",Font.BOLD,24));
		//向图片上写入验证码
		g.drawString(checkCode,15,25);
		
		//将内存中的图片输出到浏览器
		//参数一:图片对象
		//参数二:图片的格式,如PNG,JPG,GIF
		//参数三:图片输出到哪里去
		ImageIO.write(image,"PNG",response.getOutputStream());
	}
	/**
	 * 产生4位随机字符串 
	 */
	private String getCheckCode() {
		String base = "0123456789ABCDEFGHIGKLMNabcdefghigklmn";
		int size = base.length();
		Random r = new Random();
		StringBuffer sb = new StringBuffer();
		for(int i=1;i<=4;i++){
			//产生0到size-1的随机值
			int index = r.nextInt(size);
			//在base字符串中获取下标为index的字符
			char c = base.charAt(index);
			//将c放入到StringBuffer中去
			sb.append(c);
		}
		return sb.toString();
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.doGet(request,response);
	}
}

在这里插入图片描述
在这里插入图片描述

修改用户激活状态码

 //用户激活
    public void activePlayUser(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        //1.获取激活的路径上的参数
        String code = request.getParameter("code");
        //调用用户的业务接口UserService
        PUserServiceImpl ps = new PUserServiceImpl();
        ps.activePlayUser(code);
        request.setAttribute("msg","恭喜您,激活成功,请<a href='"+request.getContextPath()+"/login.jsp'>登录</a>");
        //请求转发
        request.getRequestDispatcher("/message.jsp").forward(request,response);
    }

用户登陆

在这里插入图片描述

//用户登陆
    public void loginPlayUser(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        //从前端获取获取验证码
        String code = request.getParameter("code");
        System.out.println(code);
        //获取session对象
        HttpSession session = request.getSession();
        if (session != null) {
            //获取存储的验证码
            String checkcode = (String) session.getAttribute("CHECKCODE_SERVER");
            //验证码一次验证,解绑
            session.removeAttribute("CHECKCODE_SERVER");
            if (code == null || !code.equalsIgnoreCase(checkcode)) {
                //错误提示
                request.setAttribute("msg", "验证码校验失败!");
                //请求转发到注册页面
                request.getRequestDispatcher("/message.jsp").forward(request, response);
            }
        }
        //获取用户名和密码
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //加密
        password = MD5Utils.md5(password);
        //调用登陆接口
        PUserServiceImpl ps = new PUserServiceImpl();
        PlayUser playUser = ps.PlayUserLogin(username, password);
        //判断
        if(playUser==null){
            //没找到
            //错误提示
            request.setAttribute("msg","用户名或者密码输入错误!");
            request.getRequestDispatcher("/login.jsp").forward(request,response) ;
            return;
        }
        //user是存在的
        if(playUser.getActivation()!= 1){
            //错误 提示
            request.setAttribute("msg","用户未激活") ;
            request.getRequestDispatcher("/login.jsp").forward(request,response);
            return;
        }

自动登陆

 //自动登录
        //获取前台勾选的值
        String auto_user = request.getParameter("auto_user");
        //比较
        if (!"AutoUser".equals(auto_user)){
            //没有勾选
            Cookie cookie = new Cookie("autoUser", "");
            //自动删除cookie
            cookie.setMaxAge(0);
            //携带给浏览器
            response.addCookie(cookie);
        }else {
            //勾选了
            //指定的字符集加密
            String s = playUser.getUsername() + "=" + playUser.getPassword();
            s = URLEncoder.encode(s, "utf-8");
            Cookie cookie = new Cookie("autoUser", s);
            //设置有效期(一个月)
            cookie.setMaxAge(60*60*24*30);
            //携带给浏览器
            response.addCookie(cookie);
        }
        String subName = playUser.getName().substring(0, 1);
        if (playUser.getSex().equals("男")) {
            session.setAttribute("msg", "先生");
        }else {
            session.setAttribute("msg","女士");
        }
        //Session中添加userName
        session.setAttribute("subName",subName);
        System.out.println(subName);
        //将用户存储到session
        session.setAttribute("playuser",playUser);
        System.out.println(playUser);
        //重定向
        response.sendRedirect(request.getContextPath()+"/index.jsp");

用户购物车

在这里插入图片描述

 //添加购物车功能
    public Cart getCart(HttpServletRequest request, HttpServletResponse response){
        //获取session
        HttpSession session = request.getSession();
        //从session中取出cart
        Cart cart = (Cart) session.getAttribute("cart");
        //判断
        if (cart==null){
            cart = new Cart();
            //存储
            session.setAttribute("cart",cart);
            //session依赖于cookie
            Cookie cookie = new Cookie("JSESSIONID", session.getId());
            //设置有效期
            cookie.setMaxAge(60*60*24*7);
            response.addCookie(cookie);
        }
        return cart;
    }
    //加入购物车
    public void addCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取session
        HttpSession session = request.getSession();
        PlayUser playuser = (PlayUser) session.getAttribute("playuser");
        if (playuser==null){
            //请求转发
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        return;
        }

        //接受pid
        String pid = request.getParameter("pid");
        //接受商品数量
        String count = request.getParameter("count");
        Integer c = Integer.valueOf(count);
        //通过pid获取商品
        ProductShopServiceImpl ps = new ProductShopServiceImpl();
        ProductShop product = ps.findProduct(pid);
        //封装购物车项
        CartItem cartItem = new CartItem();
        cartItem.setProductShop(product);
        cartItem.setCount(c);
        //获取购物车
        Cart cart = getCart(request, response);
        //调用购物车方法,将购物车项添加购物车
        cart.cartItem2Cart(cartItem);
        //重定向
        response.sendRedirect(request.getContextPath()+"/cart.jsp");
    }
    //删除购物车项
    public void delCartItem(HttpServletRequest request,HttpServletResponse response) throws IOException {
        //获取参数
        String pid = request.getParameter("pid");
        //获取购物车,调用购物车删除方法
        Cart cart = getCart(request, response);
        cart.removeCartItemFromCart(pid);
        //重定向
        response.sendRedirect(request.getContextPath()+"/cart.jsp");
    }
    //清空购物车
    public void clearCart(HttpServletRequest request,HttpServletResponse response) throws IOException {
        //获取购物车
        Cart cart = getCart(request, response);
        cart.clearCart();
        //将session中的删除
        request.getSession().removeAttribute("cart");
        //重定向
        response.sendRedirect(request.getContextPath()+"/cart.jsp");
    }

订单提交页面

在这里插入图片描述

支付宝支付

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package com.hh.controller;

import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.hh.config.AlipayConfig;
import com.hh.dao.impl.PlayUserImpl;
import com.hh.pojo.*;
import com.hh.service.impl.OrderServiceImpl;
import com.hh.utils.UUIDUtils;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import static com.alipay.api.AlipayConstants.CHARSET;

@WebServlet("/order")
public class OrderServlet extends BaseServlet {
   //生成订单
    public void getOrder(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        //获取session
        HttpSession session = request.getSession();
        //从session中获取PlayUser信息
        PlayUser playuser = (PlayUser) session.getAttribute("playuser");
        //判断
        if (playuser==null){
            //请求转发
            request.getRequestDispatcher("/login.jsp").forward(request,response);
            return;
        }
        //封装订单实体
        Order order = new Order();
        //随机生成id
        order.setOid(UUIDUtils.getId());
        //时间
        order.setOrdertime(new Date());
        //总金额
        Cart cart = (Cart) session.getAttribute("cart");
        order.setTotal(cart.getTotalMoney());
        //获取姓名
        order.setName(playuser.getName());
        //电话,地址
//        String telephone = request.getParameter("telephone");
//        String address = request.getParameter("address");
        order.setTelephone("123456");
        order.setAddress("南窑头");
        //封装
        order.setPlayuser(playuser);

        //声明订单项实体
        OrderItem orderItem =null;
        //封装多个订项单实体
        for (CartItem bean : cart.getBeans()) {
            orderItem  = new OrderItem();
            orderItem.setItemid(UUIDUtils.getId());
            //从购物车项获取数据
            orderItem.setCount(bean.getCount());
            orderItem.setProductshop(bean.getProductShop());
            orderItem.setSubtotal(bean.getSubTotal());
            orderItem.setOrder(order);
            //封装订单实体中的item
            List<OrderItem> items = order.getItems();
            items.add(orderItem);
            order.setItems(items);
        }
        //业务接口
        OrderServiceImpl orderService = new OrderServiceImpl();
        orderService.addOrder(order);
        //存储
        request.setAttribute("order",order);
        //请求转发
        request.getRequestDispatcher("/order.jsp").forward(request,response);
    }

    //支付宝支付
    public void OrderPay(HttpServletRequest request,HttpServletResponse response) throws IOException {
        //获取参数
        String oid = request.getParameter("oid");
        //获取订单业务接口
        OrderServiceImpl orderService = new OrderServiceImpl();
        PlayUserImpl playUser = new PlayUserImpl();
        OrderItem orderItem = new OrderItem();

        Order order = orderService.FindOrderByOid(oid);
//        PlayUser playUserName = playUser.findPlayUserByName(order.getName());
//        order.setPlayuser(playUserName);

        List<OrderItem> items1=new LinkedList<>();
        System.out.println(order);
        //支付宝代码
        try {
            AlipayClient alipayClient = new DefaultAlipayClient(
                    AlipayConfig.gatewayUrl, //支付宝网关
                    AlipayConfig.app_id, //账户id
                    AlipayConfig.merchant_private_key, //应用秘钥
                    "json",
                    AlipayConfig.charset, //字符编码格式
                    AlipayConfig.alipay_public_key, //公钥
                    AlipayConfig.sign_type); //签名对象

            //支付宝支付请求对象
            AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
            alipayRequest.setReturnUrl(AlipayConfig.return_url);
            alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
            String subject =null;
            List<OrderItem> items = order.getItems();
            for (OrderItem item : items) {
                if (item.getOrder().getOid().equals(order.getOid())){
                     subject = item.getProductshop().getPname();
                }
            }
            //设置支付宝的请求参数
            alipayRequest.setBizContent("{\"out_trade_no\":\""+ order.getOid() +"\","
                    //支付的总金额
                    + "\"total_amount\":\""+ order.getTotal() +"\","
                    //支付的标题
                    + "\"subject\":\""+ "雕塑手办" +"\","
                    + "\"body\":\""+ subject+"\","
                    + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
            //响应

            String body = alipayClient.pageExecute(alipayRequest).getBody();
            System.out.println(body);
//            response.setContentType("text/html; charset=" +CHARSET);
            response.getWriter().write(body);

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        response.getWriter().flush();
        response.getWriter().close();

    }
}

管理员模块

管理员登陆

在这里插入图片描述

//管理员登陆
    public void adminLogin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.接受用户名和密码
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        //2.封装管理员实体
        User user = new User();
        user.setUserName(userName);
        user.setPassword(password);
        //3.调用service层的比较方法
        UserServiceImpl userService = new UserServiceImpl();
        User sUser = userService.selectUser(user);
        if (sUser!=null){
            //截取用户姓氏
            String subName = userName.substring(0, 1);
            if (sUser.getSex().equals("男")){
                request.getSession().setAttribute("msg","先生");
                System.out.println(sUser.getSex());
            }else {
                request.getSession().setAttribute("msg","女士");
            }
            //Session中添加userName
            request.getSession().setAttribute("subNameAdmin",subName);
            //重定向到管理员页面
            response.sendRedirect(request.getContextPath()+"/index.jsp");
        }else {
            //储存错误信息
            request.setAttribute("error","对不起,您输入的账号或者密码有误,请您重新输入...");
            //请求转发到错误页面
            request.getRequestDispatcher("/game/adminLogin.jsp").forward(request,response);
        }

    }

在这里插入图片描述

管理员退出

//管理员退出
    public void adminOut(HttpServletRequest request,HttpServletResponse response) throws IOException {
        //获取HttpSession 会话对象
        HttpSession session = request.getSession();
        if(session!=null){
            //取消绑定
            session.invalidate();
            //重定向到首页界面
            response.sendRedirect(request.getContextPath()+"/index.jsp");
        }

管理员管理

在这里插入图片描述

管理商品

  • 添加商品
    在这里插入图片描述
package com.hh.controller;

import com.hh.pojo.Product;
import com.hh.service.impl.ProductServiceImpl;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "ServletUpdate", value = "/ServletUpdate")
public class ServletUpdate extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
        //1.接受表单提交的数据
        String id = request.getParameter("id");
        Integer iId = Integer.valueOf(id);
        System.out.println(id);
        String username = request.getParameter("username");
        String price = request.getParameter("price");
        Integer iPrice = Integer.valueOf(price);
        String pdesc = request.getParameter("pdesc");
        //2.封装对象
        Product product = new Product(iId, username, iPrice, pdesc);
        //3.调用业务接口
        ProductServiceImpl ps = new ProductServiceImpl();
        int i = ps.upDate(product);
        if (i>0){
            request.getRequestDispatcher("/ServletProductPage").forward(request,response);
        }
    }
}

  • 修改商品
    在这里插入图片描述
package com.hh.controller;

import com.hh.pojo.PageBean;
import com.hh.pojo.Product;
import com.hh.service.impl.ProductServiceImpl;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "ServletProductPage", value = "/ServletProductPage")
public class ServletProductPage extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.接受前端的参数
        //当前页面
        String currentPage = request.getParameter("currentPage");
        //如果没有传递设置默认值
        if (currentPage==null || "".equals(currentPage)){
            currentPage="1";
        }
        //每页显示条数
        String pageSize = request.getParameter("pageSize");
        if (pageSize==null || "".equals(pageSize)){
            pageSize="5";
        }
        //2.currentPage和pageSize转换成int
        Integer iCurrentPage = Integer.valueOf(currentPage);
        Integer iPageSize = Integer.valueOf(pageSize);
        //3.调用业务接口
        ProductServiceImpl ps = new ProductServiceImpl();
        PageBean<Product> pb = ps.pageProduct(iCurrentPage, iPageSize);
        System.out.println(pb);
        //4.存贮在request并请求转发
        request.setAttribute("pb",pb);
        request.getRequestDispatcher("/game/price.jsp").forward(request,response);
    }
}

商城模块

遍历最新商品

在这里插入图片描述

//遍历周边商品表
    public void findAllProduct(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ProductShopServiceImpl ps = new ProductShopServiceImpl();
        List<ProductShop> allProduct = ps.findAllProduct();
        request.setAttribute("all",allProduct);
        request.getRequestDispatcher("/periphery.jsp").forward(request,response);
    }

标签分页查询

在这里插入图片描述

 //分页查询
    public void ProductPage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.接受前端的参数
        //获取商品的分类cid
        String cid = request.getParameter("cid");
        //当前页面
        String currentPage = request.getParameter("currentPage");
        //如果没有传递设置默认值
        if (currentPage==null || "".equals(currentPage)){
            currentPage="1";
        }
        //每页显示条数
        String pageSize = request.getParameter("pageSize");
        if (pageSize==null || "".equals(pageSize)){
            pageSize="6";
        }
        //2.currentPage和pageSize转换成int
        Integer iCurrentPage = Integer.valueOf(currentPage);
        Integer iPageSize = Integer.valueOf(pageSize);
        //3.调用业务接口
        ProductShopServiceImpl ps = new ProductShopServiceImpl();
        PageBean<ProductShop> pb = ps.pageProduct(iCurrentPage, iPageSize);
        System.out.println(pb);
        //4.存贮在request并请求转发
        request.setAttribute("pb",pb);
        request.getRequestDispatcher("/sculpture.jsp").forward(request,response);
    }

订单详情

在这里插入图片描述

 //商品详情页
    public void findProductById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //获取参数
        String pid = request.getParameter("pid");
        ProductShopServiceImpl productShopService = new ProductShopServiceImpl();
        ProductShop product = productShopService.findProduct(pid);
        if (product!=null){
            request.setAttribute("product",product);
            //请求转发
            request.getRequestDispatcher("/product_info.jsp").forward(request,response);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在IDEA中创建一个web项目,可以按照以下步骤进行操作: 1. 新建一个Java模块,命名为webDemo1。 2. 右键选择webDemo1模块,然后选择"Add Framework Support"。 3. 在添加的框架中选择"Web Application"。 另外,还可以按照以下步骤进行操作: 1. 点击菜单栏中的"Add Framework Support"。 2. 选择"Web Application"。 3. 成功后,会在项目中出现一个带有蓝色点的web包。 接下来是项目的配置: 4. 在WEB-INF文件夹下新建一个名为"classes"的文件夹和一个名为"lib"的文件夹。 5. 打开项目结构(Project Structure)。 6. 进行项目配置。 7. 进行模块配置。 8. 进行Facets配置,这里指定了web目录不是一个普通的文件夹,而是一个web项目。 然后是配置Artifacts: 9. 配置Artifacts。 10. 添加Tomcat服务器。 11. 配置Deployment,这个操作可以让Tomcat找到war包所在的位置,从而将web项目部署在Tomcat服务器上。 最后是添加项目所需要的依赖: 12. 导入lib目录下的jar包,这些是web项目所需的jar包。 13. 导入与Tomcat相关的jar包。 完成以上配置后,可以运行服务,成功运行web项目。 除此之外,您还可以编写第一个servlet来进行测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [idea构建web项目-超详细教程](https://blog.csdn.net/stepleavesprint/article/details/127776102)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [IDEA中创建WEB项目](https://blog.csdn.net/weixin_46503238/article/details/120887417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值