瑞吉外卖day1

静态资源一般放在static目录下

当静态资源放在非static目录下且无法访问到时 此时需要设置一个WebMvcConfig类

继承 WebMvcConfigurationSupport 并重写 addResourceHandlers 方法

registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");

DigestUtils.md5DigestAsHex(password.getBytes());

此段代码是通过DigestUtils来实现md5加密传入的参数是字节码

mybatis-plus:

configuration:

#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射

map-underscore-to-camel-case: true

global-config:

db-config:

id-type: ASSIGN_ID //主键自增

配置拦截器

首先需要定义一个类使其继承Filter 添加@WebFilter(filterName = "loginCheckFilter",urlPatterns = "/*")注解

重写doFilter方法

@Override

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException

通过request获取uri

String uri = request.getRequestURI();

将不需要拦截的路径写入String数组

String[] urls = new String[]{

"/employee/login", "/employee/logout", "/backend/**","/front/**"

};

写一个方法check将不需要拦截的路径数组和获取的uri传入方法内

循环遍历数组 返回结果

public static final AntPathMatcher PATH_MATCHER = new AntPathMatcher();

通过路径匹配器提供的api来实现判断

public boolean check(String[] urls,String url){

for (String s : urls) {

boolean match = PATH_MATCHER.match(s, url);

if (match){

return true;

}

}

return false;

}

当返回为true时说明不要拦截直接放行

check = check(urls,uri);

if (check){

log.info("本次请求不需要处理",uri);

filterChain.doFilter(request,response);

return;

}

否则判断session中是否有数据来判断是否已经登录

if(request.getSession().getAttribute("employee")!=null){

log.info("用户已登录:{}",request.getSession().getAttribute("employee"));

filterChain.doFilter(request,response);

return;

}

ELSE就需要拦截

response.getWriter().write(JSON.toJSONString(R.error("NOTLOGIN")));

return;

通过给前端返回一个未登录的错误信息从而从前端实现页面的转跳

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值