当前位置: 首页 > news >正文

洛阳霞光只做有效果的网站欧派全屋定制

洛阳霞光只做有效果的网站,欧派全屋定制,网站建设公司怎样,帮人做网站要怎么赚钱吗目录 一、项目简介 二、设置静态资源访问路径 三、实现登录功能 四、拦截访问请求 本篇文章以黑马瑞吉外卖为例 一、项目简介 瑞吉外卖项目分为后台和前台系统#xff0c;后台提供给管理人员使用#xff0c;前台则是用户订餐使用 资源我们放在resources下 二、设置静态…目录 一、项目简介 二、设置静态资源访问路径 三、实现登录功能 四、拦截访问请求 本篇文章以黑马瑞吉外卖为例 一、项目简介 瑞吉外卖项目分为后台和前台系统后台提供给管理人员使用前台则是用户订餐使用 资源我们放在resources下 二、设置静态资源访问路径 我们的资源放在resources下当我们访问localhost:8080/backend/page/login/login.html后台登录时发现无法访问因为springboot只要静态资源放在类路径下 called /static (or /public or /resources or /META-INF/resources 才能访问所以我们需要自定义一下资源的访问路径 我们可以通过重写 WebMvcConfigurationSupport 的 addResourceHandlers 设置静态资源访问路径 代码如下 Configuration Slf4j public class WebMvcConfig extends WebMvcConfigurationSupport {/** 设置静态资源映射*/Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info(开始进行静态资源映射...);registry.addResourceHandler(/backend/**).addResourceLocations(classpath:/backend/);registry.addResourceHandler(/front/**).addResourceLocations(classpath:/front/);} } 于是就能访问了 三、实现登录功能 通过网页检查-console 可以知道登录页面会向 employee/login 发送请求所以我们写一个controller实现对应的方法处理请求。对于登录请求的思路大致如下 因为数据库的密码使用md5加密所以需要先对密码进行md5加密将提交的用户名查询数据库是否有对应的用户无则提示登陆失败将查出的用户密码进行比对不同则则提示登陆失败将用户id放入session域中供后面使用 RestController Slf4j RequestMapping(/employee) public class EmployeeController {Autowiredprivate EmployeeService employeeService;PostMapping(/login)public REmployee login(HttpServletRequest request, RequestBody Employee employee) {//1.将页面提交的密码password进行md5加密String password employee.getPassword();password DigestUtils.md5DigestAsHex(password.getBytes());//2.根据页面提交的用户名查询数据库LambdaQueryWrapperEmployee wrapper new LambdaQueryWrapper();wrapper.eq(Employee::getUsername, employee.getUsername());Employee user employeeService.getOne(wrapper);//3.找不到用户或者密码比对失败或者账户被禁用返回错误消息if(user null || !user.getPassword().equals(password)) {return R.error(登录失败);}if(user.getStatus() 0) {return R.error(账户已禁用);}//4.登陆成功将用户Id放入session域request.getSession().setAttribute(employee, user.getId());return R.success(user);} } 登录成功 这里我们还要实现一下登出功能在右上角点击可以登录我们只需要写一个对应的方法即可需要清楚session域中的用户id返回退出成功的信息。 /** 员工退出*/PostMapping(/logout)public RString logout(HttpServletRequest request) {// 清除session中的用户Idrequest.getSession().removeAttribute(employee);return R.success(退出成功);} 四、拦截访问请求 登出后我们发现直接请求员工列表也是可行的这当然是不合理的如果没有登陆的请求应该返回登录页面我们可以通过一个全局过滤器实现请求的拦截步骤如下 对于不需要拦截的请求放行需要的我们查看session域中是否有用户id存在不存在则跳转回登陆页面 由于前端响应拦截器使用的是json形式所以我们需要返回 json 形式的对应字符串 WebFilter(filterName loginCheckFilter, urlPatterns /*) Slf4j public class LoginCheckFilter implements Filter {// 路径匹配器支持通配符public static final AntPathMatcher PATH_MATCHER new AntPathMatcher();Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request (HttpServletRequest) servletRequest;HttpServletResponse response (HttpServletResponse)servletResponse;// 1.获取请求的URIString requestURI request.getRequestURI();String[] urls new String[]{/employee/login,/employee/logout,/backend/**,/front/**};// 2.判断访问的URI需不需要登录才可访问log.info(拦截到请求{}, requestURI);if(check(urls, requestURI)) {log.info(本次请求{}不需要处理, requestURI);filterChain.doFilter(request, response);return;}// 3.已经登录无需处理直接放行if(request.getSession().getAttribute(employee) ! null) {log.info(用户已登录id为{} request.getSession().getAttribute(employee));filterChain.doFilter(request, response);return;}// 4. 如果未登录返回未登录结果通过输出流的方式向客户端返回响应数据log.info(用户未登录);response.getWriter().write(JSON.toJSONString(R.error(NOTLOGIN)));return;}/** 路径匹配判断是否需要放行*/public boolean check(String[] urls, String url) {for(String item : urls) {if(PATH_MATCHER.match(item, url)) {return true;}}return false;} }
http://www.w-s-a.com/news/470172/

相关文章:

  • 太仓苏州网站建设软件开发网站建设
  • 一个虚拟主机做2个网站吗工信部怎么查网站备案
  • 本地网站做淘宝客制作app步骤
  • 关于企业网站建设网页布局怎么设计
  • 惠州市网站设计公司裴东莞嘘网站汉建设
  • 长葛网站建站电子商务网站是什么
  • 泉做网站的公司太原网站建设开发公司
  • wordpress菜单栏的函数调用迅速上排名网站优化
  • 网站深圳广西模板厂哪家价格低
  • 搜索网站显示网页无法访问最好的网站推广
  • 巴彦淖尔市百家姓网站建设搬瓦工暗转wordpress
  • 温州鹿城区企业网站搭建云虚拟机
  • 网站的开发方法php网站商城源码
  • 旅游找什么网站好维护公司网站建设
  • 长春市长春网站制作站优化杭州企业推广网站
  • 网站建设开发设计营销公司山东网信办抓好网站建设
  • 斗图在线制作网站搜索关键词优化
  • 大连 网站建设 有限公司十大erp系统
  • 网站后台建设软件网络营销公司招聘
  • 做网站销售电销好做吗网站开发毕业设计代做
  • 成都学网站建设费用帝国cms与wordpress
  • 如何刷网站排名品牌设计的英文
  • 富阳有没有做网站的房产局官网查询系统
  • 建设网站列表aliyun oss wordpress
  • 做PPT的辅助网站wordpress拖拽式主题
  • 商城网站源码seo兼职58
  • 汽车租赁网站的设计与实现全网营销推广哪家正规
  • 做网站时怎么取消鼠标悬停如何设计软件界面
  • 建德网站设计公司中国十大热门网站排名
  • 网站与新媒体建设测评方案163企业邮箱官网入口