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

什么网站专做衣服西安公司建一个网站需要多少钱

什么网站专做衣服,西安公司建一个网站需要多少钱,网站建设销售提成,wordpress ip无法访问拦截器简介 拦截器是属于springmvc体系的,只能拦截controller的请求。拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。 Interceptor 作用 日志记录:记录请求信息的日志&…

拦截器简介

拦截器是属于springmvc体系的,只能拦截controller的请求。拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。

Interceptor 作用

  • 日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算 PV(Page View)等;
    权限检查:如登录检测,进入处理器检测是否登录;
  • 性能监控:通过拦截器在进入处理器之前记录开始时间,在处理完后记录结束时间,从而得到该请求的处理时间。(反向代理,如 Apache 也可以自动记录)
  • 通用行为:读取 Cookie 得到用户信息并将用户对象放入请求,从而方便后续流程使用,还有如提取 Locale、Theme 信息等,只要是多个处理器都需要的即可使用拦截器实现。

SpringBoot 提供了 Interceptor 拦截器机制,用于请求的预处理和后处理。在 SpringBoot 中定义一个拦截器有两种方法:第一种是实现 HandlerInterceptor 接口,或者继承实现了 HandlerInterceptor 接口的类(例如:HandlerInterceptorAdapter);第二种方法时实现 Spring 的 WebRequestInterceptor 接口,或者继承实现了 WebRequestInterceptor 接口的类。这些拦截器都是在Handler的执行周期内进行拦截操作的。

示例

第一步:创建拦截器类

创建拦截器类,让其实现handlerIntercepter接口,在其preHandle()方法中作拦截判断,注意该方法返回true表示不拦截继续往下执行,返回false表示拦截不再往下执行

public class LoginHandler implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {Object user = request.getSession().getAttribute("user");if(user == null){//没有登录System.out.println("没有登录");response.sendRedirect(request.getContextPath()+"/user/openLogin");return  false;}else {//已经登录System.out.println("已经登录");return true;}}
}

HandlerInterceptor中定义了如下三个默认方法:

  • preHandle:在Action执行前调用
  • postHandle:在Action执行后调用,生成视图前调用
  • afterCompletion:在DispatcherServlet完全处理完请求之后被调用,可用于清理资源

第二步:创建配置类

创建配置类,让其实现WebMvcConfigurer接口,在其addInterceptors()方法中对1中创建的拦截器进行配置

@Configuration
public class WegoMvcConfigure implements WebMvcConfigurer {/*** 拦截器配置*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {//注册Interceptor拦截器InterceptorRegistration registration = registry.addInterceptor(new LoginHandler());registration.addPathPatterns("/**"); //所有路径都被拦截registration.excludePathPatterns( //添加不拦截路径"/user/openLogin", //登录页面"/user/login",       //登录请求"/**/*.html",   //html静态资源"/**/*.js",     //js静态资源"/**/*.css"     //css静态资源);}
}

第三步:定义用户登录和退出登录的控制器

@Controller
@RequestMapping("/user")
public class UserController {@Resourceprivate UserService userService;/*** 打开登录页面*/@GetMapping("/openLogin")public String openLogin(){return "frontend/login";}/*** 登录*/@PostMapping("/login")public String login(String username,String password, HttpSession session){User user  = userService.getUserByUsernameAndPassword(username , password);if (user == null) {// 登录失败,打开登录页面return "frontend/login";}else {//登录成功,将用户信息保存到Session中,打开首页session.setAttribute("user",pageBean.getResult().get(0));return "redirect:/index";//重定向}}/*** 退出登录 */@ResponseBody@GetMapping("/logout")String logout(HttpSession session){session.removeAttribute("user");return "success";}
}

第四步:测试

  1. 启动项目,请求首页localhost/wego/index,发现直接打开登录页面
  2. 在登录页面中登录,成功后进入首页
  3. 请求localhost/wego/user/logout,退出登录
  4. 再次请求登录页面发现又会打开登录页面
http://www.yayakq.cn/news/407928/

相关文章:

  • 网站建设擎宇凡科建站微信小程序
  • 网络广告推广网站wordpress付费电台
  • 教育网站的开发与建设论文建立网站站点
  • 商务网站规划与建设著名建筑设计作品解析
  • 如何做网站弹窗广告广电网络公司营销推广方案
  • 国外的智慧城市建设网站网站后台管理系统 模板
  • 网站推广合同模板东莞阳光网英语口语大赛
  • 网站内容与功能设计玉田县建设工程招标网站
  • 白城网站seo机票小代理做网站
  • 燃气公司网站建设方案济南市住建厅官方网站
  • 七米网站开发网站的网络公司
  • 深圳网站建设服务商深圳设计公司十大排名
  • 上饶做网站的商丘网络推广公司
  • 网站推广方法ppt免费开放的api大全软件
  • 做文案图片上什么网站网站开发的例子
  • 电子商务网站计划书义乌网站建设软件开发
  • 绵阳 网站设计阿里巴巴网站的pc端和手机端怎么做的
  • 网站推广有用吗?新手做网页做那个网站简单
  • 自己做的网站邮箱更改密码程序为什么总出错全国网站设计公司
  • 给千图网等网站做设计赚钱吗网站制作案例
  • 全景网站模版万网注册域名就可以做网站吗
  • 青岛建设集团网站网站建设与维护本科教材
  • 如何网站数据备份常州网站建站
  • 自己做装修图网站超级外链
  • 域名注册后如何建网站网站搭建免费域名
  • 衡水网站建费用给自己的家乡建设网站
  • 免费申请论坛网站wordpress 如何更改主页
  • 网站建设管理工作计划购物系统简介
  • 无锡华庄行业网站建设东台做网站公司
  • 福州建设银行招聘网站安卓系统优化app