位置: IT常识 - 正文

JavaWeb 购物车项目(一)(java web 购物车)

编辑:rootadmin
JavaWeb 购物车项目(一)

推荐整理分享JavaWeb 购物车项目(一)(java web 购物车),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java购物车实现流程,javaweb购物车实现思路,java web 购物车,javaweb购物车实现思路,java web 购物车,java web 购物车,java web 购物车,javaweb购物车项目,内容如对您有帮助,希望把文章链接给更多的朋友!

今天的学习主要是完成一个购物车项目,该项目中使用servlet完成,对于不知道servlet不知道如何使用的去看servlet的使用该篇文章,该文章中有教大家如何使用servlet。

目录

一.项目所需表

 二.购物车项目实操

 1.登录操作

2.首页操作

购物车数据操作 :CarServlet, 我们在点击首页的加入购物车页面时,会到该类中进行数据操作,将商品添加进购物车

3.购物车

三.过滤器


一.项目所需表

 我们一共需要使用到四张表格,将代码数据提供给到大家,大家直接拿到数据库中运行,四张表格分别是用户表,商品表,订单表,订单详情表。

create table car_user( id number primary key, account varchar2(30) not null, password varchar(32) not null);comment on column car_user.ID is '用户编号';comment on column car_user.account is '用户账户';comment on column car_user.password is '用户密码(MD5)';create table car_goods( id number primary key, name varchar2(20) not null, describe varchar2(100) default '此商品暂时没有介绍🤣' not null, price number not null);comment on column car_goods.ID is '商品编号';comment on column car_goods.name is '商品名称';comment on column car_goods.describe is '商品描述';comment on column car_goods.price is '用户价格';create table car_order( id number primary key, user_id number not null, total number not null);comment on column car_order.ID is '订单编号';comment on column car_order.user_id is '谁的订单!';comment on column car_order.total is '订单总价';create table car_order_item( id number primary key, order_id number not null, goods_id number not null, quantity number not null, total number not null);comment on column car_order_item.ID is '订单项编号';comment on column car_order_item.order_id is '哪个订单!';comment on column car_order_item.goods_id is '哪个商品!';comment on column car_order_item.quantity is '下单数量';comment on column car_order_item.total is '订单项总价';comment on table car_user is '购物车用户表';comment on table car_goods is '购物车商品表';comment on table car_order is '购物车订单表';comment on table car_order_item is '购物车订单项表';create unique index car_user_account_idx on car_user (account);insert into car_uservalues (1, '2890@fox.com', 'ff9830c42660c1dd1942844f8069b74a');-- root123insert into car_uservalues (2, '2357@fox.com', 'e10adc3949ba59abbe56e057f20f883e');-- 123456insert into car_goodsselect 1, '丝袜奶茶', '冰冰娘娘,很好喝', 99from dualunionselect 2, '勃勃奶茶', '啊~,好冰冰', 29from dualunionselect 3, '蜜雪大补丁', '可以加个桃桃🍑', 59from dualunionselect 4, '臭🐟咖啡', '人气最高', 88from dualunionselect 5, '雪王咖啡', 'incredible taste', 999from dualunionselect 6, '拉稀弹筒', '👌,就亿点点', 1from dual;insert into car_order_itemvalues (1, 1, 1, 2, 99 * 2);insert into car_order_itemvalues (2, 1, 2, 3, 29 * 3);insert into car_order_itemvalues (3, 1, 6, 100, 100);insert into car_ordervalues (1, 1, 99 * 2 + 29 * 3 + 100);insert into car_order_itemvalues (4, 2, 3, 2, 59 * 2);insert into car_order_itemvalues (5, 2, 4, 3, 88 * 3);insert into car_order_itemvalues (6, 2, 5, 100, 999 * 100);insert into car_ordervalues (2, 2, 59 * 2 + 88 * 3 + 999 * 100);select *from car_user;select *from car_order;select *from car_order_item;select *from car_goods;

如图所示:

订单表中显示的数据,肯定是登录进来的用户他的所有订单数据,一个用户对应着多个订单。 订单详情表:对应着订单的编号,商品的编号,我们是根据自己想查看的订单的详细  数据,一个订单对应着多件商品。

 二.购物车项目实操

     该购物车我们具备登录,首页,将商品加入购物车,购物车界面,在实操的时候首先我们需要把需要的包导进去。

  文件放置位置

 1.登录操作

       思路:

登录界面具备的方法就是去到数据库查询用户是否存在,如果用户存在我们就跳转到首页去

     pojo包下的用户实体类代码如下: User

package com.yjx.pojo;/** * 用户实体类 * @author zjjt * */public class User {private Integer id;private String name;private String pwd;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public User() {// TODO Auto-generated constructor stub}public User(Integer id, String name, String pwd) {super();this.id = id;this.name = name;this.pwd = pwd;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + ", pwd=" + pwd + "]";}}

     用户数据库访问层接口代码如下: IUserDao

package com.yjx.dao;/** * 用户数据访问层接口 * @author zjjt * */import com.yjx.pojo.User;public interface IUserDao {//登录验证User login(User u);}

   用户数据库访问层代码如下:  该类中具备登录验证的方法 UserDaoImpl

package com.yjx.dao.impl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import com.yjx.dao.IUserDao;import com.yjx.pojo.User;import com.yjx.util.DBHeper;public class UserDaoImpl implements IUserDao {private Connection con;private PreparedStatement ps;private ResultSet rs; /** * 登录验证方法 */@Overridepublic User login(User u) {try {con=DBHeper.getCon();ps=con.prepareStatement("select * from car_user where account=?");ps.setString(1, u.getName());rs=ps.executeQuery();if(rs.next()) {User user=new User();user.setId(rs.getInt(1));user.setName(rs.getString(2));user.setPwd(rs.getString(3));return user;}} catch (Exception e) {e.printStackTrace();}return null;} }

  用户业务逻辑层接口代码如下:IUserBiz

package com.yjx.biz;import com.yjx.pojo.User;public interface IUserBiz {//登录验证方法 User login(User u);}

  用户业务逻辑层代码如下:UserBizImpl

package com.yjx.biz.impl;import org.apache.commons.codec.digest.DigestUtils;import com.yjx.biz.IUserBiz;import com.yjx.dao.IUserDao;import com.yjx.dao.impl.UserDaoImpl;import com.yjx.pojo.User;public class UserBizImpl implements IUserBiz { IUserDao userdao=new UserDaoImpl();/** * 登录验证方法 */ @Overridepublic User login(User u) {User user=userdao.login(u);String pwd=DigestUtils.md5Hex(u.getPwd());if(user.getPwd().equals(pwd)) {return user;}return null;}}JavaWeb 购物车项目(一)(java web 购物车)

 登录页面代码:login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css"><script src="bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script><script src="bootstrap-3.3.7-dist\js\bootstrap.js"></script><meta name="viewport" content="width=device-width,initial-scale=1"><title>登录界面</title><style>form {width: 500px;margin:auto;}</style></head><body><form action="login.do" method="post"><h1>登录</h1><div class="form-group"><input name="uname" class="form-control" placeholder="用户名"></div><div class="form-group"><input name="upwd" class="form-control" placeholder="密码"></div><div class="form-group"><button class="btn btn-primary btn-block">登录</button></div></form></body></html>

  实现登录功能代码如下 : LoginServlet 

  在这里我们将用户存进session中,当用户一进来我们就给用户一个购物车,该购物车中存放我们在首页加入购物车的商品,然后在购物车界面遍历。

package com.yjx.servlet;import java.io.IOException;import java.util.ArrayList;import java.util.List;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 com.yjx.biz.IGoodsBiz;import com.yjx.biz.IUserBiz;import com.yjx.biz.impl.GoodsBizImpl;import com.yjx.biz.impl.UserBizImpl;import com.yjx.pojo.Car;import com.yjx.pojo.User;/** * 实现登录功能 * @author zjjt * */@WebServlet("/login.do")public class LoginServlet extends HttpServlet{IUserBiz userbiz=new UserBizImpl();IGoodsBiz goodsbiz=new GoodsBizImpl();@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req,resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");String name=req.getParameter("uname");String pwd=req.getParameter("upwd");User u=new User(0,name,pwd); userbiz.login(u); if(u!=null) { //将用户存入session中 req.getSession().setAttribute("user", u); //进来的时候就给该用户一个购物车,将该购物车存在session中 List<Car> car=new ArrayList<Car>(); req.getSession().setAttribute("car",car); //总价 req.getSession().setAttribute("sum", 0); //跳转到实现首页功能 resp.sendRedirect("index.do");}else { resp.sendRedirect("login.jsp");}}}2.首页操作

  思路:

首页界面需要显示商品表中的数据点击加入购物车将数据加入进购物车

   商品表的pojo包下的商品实体类代码如下:Goods

package com.yjx.pojo;/** * 商品实体类 * @author zjjt * */public class Goods {private Integer id;private String name;private String describe;private Integer price;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescribe() {return describe;}public void setDescribe(String describe) {this.describe = describe;}public Integer getPrice() {return price;}public void setPrice(Integer price) {this.price = price;}public Goods() {// TODO Auto-generated constructor stub}public Goods(Integer id, String name, String describe, Integer price) {super();this.id = id;this.name = name;this.describe = describe;this.price = price;}@Overridepublic String toString() {return "Goods [id=" + id + ", name=" + name + ", describe=" + describe + ", price=" + price + "]";}}

  商品数据访问层接口: IGoodsDao

package com.yjx.dao;import java.util.List;import com.yjx.pojo.Goods;/** * 商品数据访问层的接口 * @author zjjt * */public interface IGoodsDao {//查询商品表中的所有数据List<Goods> selectAll();//根据id查询Goods selestId(int id);}

商品数据访问代码如下: GoodsDaoImpl

package com.yjx.dao.impl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import com.yjx.dao.IGoodsDao;import com.yjx.pojo.Goods;import com.yjx.util.DBHeper;/** * 商品数据访问层 * @author zjjt * */public class GoodsDaoImpl implements IGoodsDao{private Connection con;private PreparedStatement ps;private ResultSet rs;/** * 查询商品表中的所有数据 */ @Overridepublic List<Goods> selectAll() {List<Goods> list=new ArrayList<Goods>();try {con=DBHeper.getCon();ps=con.prepareStatement("select * from car_goods");rs=ps.executeQuery();while(rs.next()) {Goods g=new Goods();g.setId(rs.getInt(1));g.setName(rs.getString(2));g.setDescribe(rs.getString(3));g.setPrice(rs.getInt(4));list.add(g);}} catch (Exception e) {e.printStackTrace();}finally {DBHeper.getColes(con, ps, rs);}return list;} /** * 根据商品id进行查询 */ @Overridepublic Goods selestId(int id) { try {con=DBHeper.getCon();ps=con.prepareStatement("select * from car_goods where id=?");ps.setInt(1, id);rs=ps.executeQuery();if(rs.next()) {Goods g=new Goods();g.setId(rs.getInt(1));g.setName(rs.getString(2));g.setDescribe(rs.getString(3));g.setPrice(rs.getInt(4));return g;}} catch (Exception e) {e.printStackTrace();}finally {DBHeper.getColes(con, ps, rs);} return null;}}

商品数据业务逻辑层接口代码如下:IGoodsBiz

package com.yjx.biz;import java.util.List;import com.yjx.pojo.Goods;/** * 商品业务逻辑层接口 * @author zjjt * */public interface IGoodsBiz {//查询商品表中的所有数据List<Goods> selectAll();//根据id查询 Goods selestId(int id);}

商品数据业务逻辑层代码如下: GoodsBizImpl  

package com.yjx.biz.impl;import java.util.List;import com.yjx.biz.IGoodsBiz;import com.yjx.dao.IGoodsDao;import com.yjx.dao.impl.GoodsDaoImpl;import com.yjx.pojo.Goods;/** * 商品业务逻辑层 * @author zjjt * */public class GoodsBizImpl implements IGoodsBiz{IGoodsDao dao=new GoodsDaoImpl();/** * 查询商品表中所有数据 */ @Overridepublic List<Goods> selectAll() {return dao.selectAll();} /** * 根据id查询 */ @Overridepublic Goods selestId(int id) {return dao.selestId(id);}}

商品数据操作代码如下:    所以登录成功后先跳转到这里,在将商品数据从全查出来,然后存进session中,在首页的时候在遍历 IndexServlet

package com.yjx.servlet;import java.io.IOException;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.yjx.biz.IGoodsBiz;import com.yjx.biz.impl.GoodsBizImpl;import com.yjx.pojo.Goods;/** * 首页商品数据显示 * @author zjjt * */@WebServlet("/index.do")public class IndexServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {IGoodsBiz goodsbiz=new GoodsBizImpl(); List<Goods> list=goodsbiz.selectAll(); //将该集合中的数据存进request中 req.setAttribute("goods", list); //使用request存放,需要转发 req.getRequestDispatcher("index.jsp").forward(req, resp);}}

首页界面代码如下:index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!-- 商品首页 --><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css"><script src="bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script><script src="bootstrap-3.3.7-dist\js\bootstrap.js"></script><meta name="viewport" content="width=device-width,initial-scale=1"><style>body {padding: 20px 40px;}</style></head><body><h1>${user.name}<small>这是首页</small></h1><h1><a class="btn btn-primary" href="car.jsp">点我去购物车🛒</a></h1><table class="table table-bordered table-striped"><tbody><tr><th>商品编号</th><th>商品名称</th><th>商品价格</th><th>商品操作</th></tr><!-- 遍历 --> <c:forEach items="${goods}" var="g"> <tr><td>${g.id}</td><td>${g.name}</td><td>${g.price}</td><td><a href="car.do?id=${g.id}" class="btn btn-default">加入🚗</a></td></tr> </c:forEach></body></html>购物车数据操作 :CarServlet, 我们在点击首页的加入购物车页面时,会到该类中进行数据操作,将商品添加进购物车package com.yjx.servlet;import java.io.IOException;import java.util.List;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 com.yjx.biz.IGoodsBiz;import com.yjx.biz.impl.GoodsBizImpl;import com.yjx.pojo.Car;import com.yjx.pojo.Goods;/** * 购物车数据 * @author zjjt * */@WebServlet("/car.do")public class CarServlet extends HttpServlet{IGoodsBiz goodsbiz=new GoodsBizImpl();@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {List<Car> car=(List<Car>)req.getSession().getAttribute("car");//先将传过来的id接收到int id=Integer.parseInt(req.getParameter("id"));boolean f=true;//判断该商品是否已经存在购物车中,如何存在只在数量上相加 for (Car c : car) {if(c.getGoods().getId()==id) {//设置数量加1 c.setCount(c.getCount()+1); //设置商品总价 c.setTotal(c.getCount()*c.getGoods().getPrice()); f=false; break;}} if(f) {//当商品不存在相同的进入这里//根据id进行查询商品Goods goods=goodsbiz.selestId(id);Car c=new Car();c.setGoods(goods);//商品的数量设置c.setCount(1);//商品的总价设置c.setTotal(c.getGoods().getPrice()); car.add(c);} //遍历购物车将总价加上 int sum=0; for (Car car2 : car) {sum+=car2.getTotal();} req.getSession().setAttribute("sum",sum); resp.sendRedirect("index.do");}}3.购物车

 购物车中具备查看我们加入购物和的商品,然后对商品的数量增加减,当商品存在购物车中了,我们在首页将同一件商品在加入购物车时,只有数量加1。

 购物车的pojo包下的实体类代码如下:Car

package com.yjx.pojo;/** * 购物车实体类 * @author zjjt * */public class Car {private Goods goods;private Integer count;private Integer total;public Goods getGoods() {return goods;}public void setGoods(Goods goods) {this.goods = goods;}public Integer getCount() {return count;}public void setCount(Integer count) {this.count = count;}public Integer getTotal() {return total;}public void setTotal(Integer total) {this.total = total;}public Car() {// TODO Auto-generated constructor stub}public Car(Goods goods, Integer count, Integer total) {super();this.goods = goods;this.count = count;this.total = total;}}

购物车页面代码如下: car.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css"><script src="bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script><script src="bootstrap-3.3.7-dist\js\bootstrap.js"></script><meta name="viewport" content="width=device-width,initial-scale=1"><title>我的购物车</title></head><body><div class="container"><h1>${user.name}<small>这是购物车</small></h1><h1><button onclick="location.href='index.do'" class="btn btn-default">继续购买</button><button onclick="location.href='calc.do'" class="btn btn-default">订单结算</button><button onclick="location.href='myOrder.do'" class="btn btn-default">查看订单</button></h1><table class="table table-bordered table-striped"><tr><td>商品编号</td><td>商品名字</td><td>商品单价</td><td>商品数量</td><td>商品总价</td><td>商品操作</td></tr><c:forEach items="${car}" var="c"><tr><td>${c.goods.id}</td><td>${c.goods.name}</td><td>${c.goods.price}</td><td><a href="updCar.do?id=${c.goods.id}&type=1" class="btn btn-default">+</a> ${c.count} <a href="updCar.do?id=${c.goods.id}&type=-1" class="btn btn-default">-</a></td><td>${c.total}</td><td><a href="delCar.do?id=${c.goods.id}" class="btn btn-default">商品删除</a></td></tr></c:forEach> </table></div><h1>总价:${sum}</h1></body></html>

点击加号或者减号数据操作代码如下:updCarServlet

当点击加号或者减号携带过来一个数,判断是加法还是减法,进行对数量上的加减

package com.yjx.servlet;import java.io.IOException;import java.util.ArrayList;import java.util.List;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 com.yjx.biz.IGoodsBiz;import com.yjx.biz.impl.GoodsBizImpl;import com.yjx.pojo.Car;import com.yjx.pojo.Goods;/** * 修改商品数量操作 * @author zjjt * * */@WebServlet("/updCar.do")public class updCarServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//拿到购物车List<Car> car=(List<Car>)req.getSession().getAttribute("car");//接收到传过来的值int id=Integer.parseInt(req.getParameter("id"));int type=Integer.parseInt(req.getParameter("type"));for (Car c : car) { if(c.getGoods().getId().equals(id)) { int count=c.getCount()+type;//设置该商品的数量 if(count<1)break; c.setCount(count); c.setTotal(c.getCount()*c.getGoods().getPrice()); }} //遍历购物车将总价加上 int sum=0; for (Car car2 : car) {sum+=car2.getTotal();} req.getSession().setAttribute("sum",sum); resp.sendRedirect("car.jsp");}}

购物车数据删除代码如下: delCarServlet

package com.yjx.servlet;import java.io.IOException;import java.util.List;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 com.yjx.pojo.Car;/** * 删除商品操作 * @author zjjt * */@WebServlet("/delCar.do")public class delCarServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//拿到购物车List<Car> car=(List<Car>)req.getSession().getAttribute("car");//先接收到id int id=Integer.parseInt(req.getParameter("id")); Car i=null; //遍历购物车 for (Car c : car) { if(c.getGoods().getId().equals(id)){ i=c; }} //将商品删除 car.remove(i); //遍历购物车将总价加上 int sum=0; for (Car car2 : car) {sum+=car2.getTotal();} req.getSession().setAttribute("sum",sum); resp.sendRedirect("car.jsp");}}三.过滤器

过滤器的作用,就是当我们没有登录时,有一些界面无法进入,所以我们进在过滤器中进行过滤,满足我们条件的我们就放行,不满足条件的就让他继续在登录页面。

package com.yjx.filter;import java.io.IOException;import java.util.ArrayList;import java.util.List;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.yjx.pojo.User;/** * 过滤 * @author zjjt * */public class LoginFilter implements Filter{//过滤的作用:因为当我们没有登录成功时,只有允许在登录界面,不允许跳转到别的界面,所以我们选择使用过滤,不满足我们进入的// 需求就让他跳回登录界面。 //1.先实现filter接口 //2.先实例一个集合,将我们需要放行的页面放入 List<String> list=new ArrayList(); { list.add("/login.jsp"); list.add("/login.do"); list.add(".css"); list.add(".js"); }@Overridepublic void doFilter(ServletRequest req, ServletResponse reps, FilterChain chain)throws IOException, ServletException { //将请求和响应强转成它的子类 HttpServletRequest request=(HttpServletRequest)req; HttpServletResponse response=(HttpServletResponse)reps; //获取到路径 String path=request.getServletPath(); boolean f=false; //遍历集合和获取到的路径进行判断 for(String p:list) { if(path.endsWith(p)){//判断是否是以增加进集合的的数据结尾的 //如果以该为结尾的话 f=true; System.out.print(f); break; } } if(f){ //如果存在list集合中就放行 chain.doFilter(request, response);//放行语句 return; } //判断用户是否已经登录啦,如果session中存在user那么就放行 User u=(User)request.getAttribute("user");//得到一个用户进行判断 if(u!=null) { chain.doFilter(request, response); }else { //用户没有登录就返回登录界面 response.sendRedirect("login.jsp"); }}}

今天的学习就到这里啦。

本文链接地址:https://www.jiuchutong.com/zhishi/296021.html 转载请保留说明!

上一篇:Qss自定义属性(qss 设置字体)

下一篇:树莓派+MediaPipe+PCA9685+自制摄像机云台实现人脸跟踪移动(树莓派能干什么)

  • 网易云唱片收藏架怎么编辑(网易云唱片收藏架怎么换)

    网易云唱片收藏架怎么编辑(网易云唱片收藏架怎么换)

  • vivo手机应用权限管理在哪里(vivo手机应用权管理)

    vivo手机应用权限管理在哪里(vivo手机应用权管理)

  • 华为荣耀9x打电话有回音(华为荣耀9x打电话对方听不清楚怎么办呢)

    华为荣耀9x打电话有回音(华为荣耀9x打电话对方听不清楚怎么办呢)

  • 苹果6s plus录音功能在哪(苹果6s plus录音效果怎么样)

    苹果6s plus录音功能在哪(苹果6s plus录音效果怎么样)

  • 抖音怎么快速删除喜欢的视频(抖音怎么快速删除聊天记录)

    抖音怎么快速删除喜欢的视频(抖音怎么快速删除聊天记录)

  • 淘宝卖家该怎么看总收入(淘宝卖家怎么进入自己的店铺)

    淘宝卖家该怎么看总收入(淘宝卖家怎么进入自己的店铺)

  • 淘宝退货两个订单可以用一个快递单号吗(淘宝退货两个订单可以填写一个物流单号吗)

    淘宝退货两个订单可以用一个快递单号吗(淘宝退货两个订单可以填写一个物流单号吗)

  • 拼多多回复率多少达标(拼多多回复率多少人)

    拼多多回复率多少达标(拼多多回复率多少人)

  • 号码无效是什么意思(电话号无效)

    号码无效是什么意思(电话号无效)

  • 接收行无权限什么意思(接收行无权限rcps.m776)

    接收行无权限什么意思(接收行无权限rcps.m776)

  • b站如何隐藏自己的关注(b站如何隐藏自己的稿件)

    b站如何隐藏自己的关注(b站如何隐藏自己的稿件)

  • 华为mate30rs保时捷什么时候可以买

    华为mate30rs保时捷什么时候可以买

  • 华为nova5pro声音突然变小(华为nova5pro声音忽大忽小)

    华为nova5pro声音突然变小(华为nova5pro声音忽大忽小)

  • PPT怎么打开网格参考线(ppt怎么弄出网格)

    PPT怎么打开网格参考线(ppt怎么弄出网格)

  • 手机蓝屏开不了机怎么办(手机蓝屏开不了机要换屏吗)

    手机蓝屏开不了机怎么办(手机蓝屏开不了机要换屏吗)

  • 网易云怎么设置别人不可评论(网易云怎么设置微信状态)

    网易云怎么设置别人不可评论(网易云怎么设置微信状态)

  • 华为plktl01h是什么型(华为plk-ul00)

    华为plktl01h是什么型(华为plk-ul00)

  • 声卡驱动在哪里打开(英伟达声卡驱动在哪里)

    声卡驱动在哪里打开(英伟达声卡驱动在哪里)

  • 关坝保护地需要多少能量(关坝自然保护区)

    关坝保护地需要多少能量(关坝自然保护区)

  • x27支持面部识别吗(x27能面部识别吗)

    x27支持面部识别吗(x27能面部识别吗)

  • ght交易密码怎么设置(ght交易密码怎么改)

    ght交易密码怎么设置(ght交易密码怎么改)

  • opporeno是5g吗(oppo reno是5g吗)

    opporeno是5g吗(oppo reno是5g吗)

  • 为什么微信定位不了位置(为什么微信定位找不到自己店铺位置)

    为什么微信定位不了位置(为什么微信定位找不到自己店铺位置)

  • 国行iphonexr是双卡吗(国行版苹果xr是双卡双待)

    国行iphonexr是双卡吗(国行版苹果xr是双卡双待)

  • 增值税发票如何抵扣税款
  • 药酒消费税计税依据
  • 为员工代缴社保材料
  • 租房子没有
  • 酒店收入是以当月入账时间为准吗
  • 如何确定一个企业在网络营销中的目标受众?
  • 盈亏平衡点产量越高,项目风险越大
  • 指定会计科目是
  • 餐饮消费方式
  • 什么情况下是应收账款
  • 职工个人代扣款如何做账
  • 用银行汇票付款的会计分录
  • 雇主责任险是否属于财产保险
  • 同一套房
  • 房地产企业暂估成本
  • 去税务局领用发票要多久
  • 劳务费差额征税的账务处理
  • 福利费抵扣了进项税有2年了怎么办
  • 核定征收的企业需要汇算清缴吗
  • 加班工资算做个月工资吗
  • 员工因公负伤期间公司怎么开工资
  • 记账凭证和转账凭证可以装订在一起吗
  • 扣缴上月税费会计分录
  • 上个月的费用这个月开发票怎么做账
  • 减少其他应付款冲费用做以前年度损益调整如何做分录
  • 留抵税额怎么入账
  • 商业写字楼
  • 房地产会计工资一般多少
  • 进项税留抵期限
  • 商业自持店铺出租合法吗
  • 单位向员工出租房屋要交增值税吗
  • php字符串变量
  • 房地产评估费计算公式
  • 建筑业预缴企业所得税是分季预缴按年抵减吗
  • php完整教程
  • 竣工工程成本核算
  • 建筑业的账务处理方法
  • 残疾人个税减免标准
  • 织梦如何使用
  • python __call__
  • 无形资产减值准备可以转回吗
  • 全国通用机打销售票查询
  • 管理费用属于损益类吗
  • 数据库双亲结点
  • sqlserver2008密码要求
  • 外贸出口企业的收入交增值税吗
  • 制造费用的核算内容包括什么
  • 企业所得税债务重组一般性税务处理
  • 财务费用减少记借方还是贷方
  • 代扣代缴增值税怎么做账
  • 发票服务内容写错怎么办
  • 半成品会计处理流程
  • 集团内部资产无偿划转是否缴纳印花税
  • 应付职工社会保险费计入什么科目
  • 企业的未分配利润属于什么科目
  • 普票抵扣
  • 收不回来的其他应收账款如何处理?
  • Excel导入Sqlserver数据库脚本
  • mysql的用处
  • nano linux
  • wininfo.exe - wininfo是什么进程
  • 运行方式包括什么方式
  • win7系统的分区类型怎么选
  • win8中的wps点打印预览就卡
  • linux中查看文件
  • 为什么我无法更改某些设置电脑
  • win8显示wifi关怎么办
  • jquery跟随鼠标移动
  • python必学的os模块详解
  • CCClippingNode导致的贴图错误问题
  • jquery 获得焦点
  • flask框架菜鸟教程
  • linux系统如何搜索文件内容
  • 静态类 java
  • web miui
  • 容易混淆的词汇
  • Python对象转列表
  • 用友u8外部凭证怎么删除
  • 小微企业不交所得税
  • 三免三减半是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设