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

网站开发 学习步骤长尾关键词有哪些

网站开发 学习步骤,长尾关键词有哪些,重庆外贸网站建设,submit怎么做网站文章目录 Servlet请求转发和请求包含RequestDispatcher HandlerInterceptor组件实际运用场景 HandlerMapping&RequestMappingInfo(HandlerMapping)HandlerExecutionChainHandlerAdapter源码学习知识点博客记录 Servlet请求转发和请求包含 RequestDispatcher Request#getR…

文章目录

  • Servlet请求转发和请求包含
    • RequestDispatcher
  • HandlerInterceptor组件
    • 实际运用场景
  • HandlerMapping&RequestMappingInfo(HandlerMapping)
  • HandlerExecutionChain
  • HandlerAdapter
  • 源码学习知识点博客记录


Servlet请求转发和请求包含

RequestDispatcher

Request#getRequestDispatcher()包含两个重要方法:请求转发和请求包含。
一个请求跨多个Servlet时,需要使用请求转发和请求包含。

示例伪代码 :

public void requestDispatcher() throws Exception {Request request = new Request(null);Response response = new Response();// 首先需要获得一个RequestDispatcher 对象RequestDispatcher requestDispatcher = request.getRequestDispatcher("/forward");requestDispatcher.forward(request,response);// 调用forward()方法进行请求转发requestDispatcher.include(request,response);// 调用include()方法进行请求包含response.sendRedirect("/redirect");// 调用sendRedirect()方法进行重定向
}

在这里插入图片描述

  • 请求包含: rd.include( request , response);
    在这里插入图片描述

HandlerInterceptor组件

HandlerInterceptor包含三个方法 :

  • preHandle是在找到处理handler对象的HandlerMapping之后,HandlerAdapter调度handler之前执行。

  • postHandle是在HandlerAdapter调度handler之后,DispatcherServlet渲染视图之前执行,可以通过ModelAndView来向视图中添加一些信息等,preHandle返回false不执行postHandle。

  • afterCompletion是在渲染视图结束后执行,主要可以用来进行事后的资源清理。无论 是否发生异常/preHandle返回false 都会执行

其中postHandle和afterCompletion方法是反顺序执行的。也就是说第一个拦截器会最后一个执行。关于HandlerInterceptor的执行顺序我们可以在HandlerExecutionChain类中找到。

完整示例 :

配置自己的Interceptor进容器,需要按照下示例方式

实现WebMvcConfigurer接口,添加@Configuration注解(可免除),在配置类中,重写addIntercepters方法,添加要拦截的url以及url白名单(需要排除拦截的url)

@Component
public class WebMvcConfig implements WebMvcConfigurer {@Autowiredprivate CustomInterceptor customInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(customInterceptor)  // 添加拦截器.addPathPatterns("/**")          // 配置拦截请求url( ** 表示拦截所有请求url).excludePathPatterns("/hello"); // 排除某些不需要拦截的请求url(即带有/hello请求不会被拦截)}
}

WebMvcConfigurer重要的方法 :

  • addInterceptors:从该方法名就可以了解到该方法是添加拦截器,即将拦截器交给IOC去执行,拦截器需要拦截的路径以及需要排除拦截的路径在该方法中配置。
  • addResourceHandlers:该方法的作用是配置静态资源路径。即某些请求需要读取某个路径下的静态资源内容,需要配置该静态资源的路径,通过该方法可以统一给这些请求配置指定静态资源路径 。

addResourceHandlers 示例:

@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/**")   // 配置需要添加静态资源的请求url.addResourceLocations("classpath:/mydata/");   //配置静态资源路径}

将自己的 HandlerInterceptor 添加进Spring容器 :

@Component
public class CustomInterceptor  implements HandlerInterceptor {//在Controller执行之前调用,如果返回false,controller不执行@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("---------CustomInterceptor.preHandle--------");return true;}//controller执行之后,且页面渲染之前调用@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("---------CustomInterceptor.postHandle--------");}//页面渲染之后调用,一般用于资源清理操作@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("---------CustomInterceptor.afterCompletion--------");}
}

到此就完成定义自己的一个HandlerInterceptor。

实际运用场景

HandlerInterceptor在实际开发中运用的场景

HandlerMapping&RequestMappingInfo(HandlerMapping)

HandlerExecutionChain

HandlerAdapter

源码学习知识点博客记录

HandlerAdapter实现类及RequestMappingHandlerAdapter调用过程

RequestMapping的注册及请求匹配过程

Controller的扫描注册及匹配过程

DispatcherServlet请求执行的过程

MVC重要组件及DispatcherServlet执行过程

Handler、HandlerMapping和HandlerAdapter作用及区别

http://www.qdjiajiao.com/news/2809.html

相关文章:

  • 网站建设需要考哪些证搜索引擎成功案例分析
  • 广州英铭网站建设百度24小时人工电话
  • 做网站需要有公司吗怀化网站seo
  • 如何做学校网站网络推广赚钱项目
  • wordpress wp editor福州百度网站快速优化
  • 站长平台社区新闻热搜榜 今日热点
  • 网站首页作用百度信息流投放在哪些平台
  • 优秀个人网站外链网盘系统
  • 电商网站 支付品牌推广和营销推广
  • 政府网站建设 开题报告b2b免费外链发布
  • 交互网站设计济南百度
  • 什么是自建站关键词优化推广策略
  • 网络运维工程师考试seo优化效果怎么样
  • 扬州高端网站制作怎么制作一个网页
  • 公司网站横幅是做的吗长沙seo关键词
  • 延庆长沙网站建设seo是什么单位
  • 绍兴专门做网站的公司网络营销的应用研究论文
  • 有哪些做批发的网站有哪些手续济南seo排名优化推广
  • 新手学做网站vs张北网站seo
  • 优秀网站建设公司搜索引擎优化的核心是
  • 网站栏目名称高清视频线和音频线的接口类型
  • 企业logo设计在线生成淘宝seo推广优化
  • 最专业的手机网站建设找做网站的公司
  • 网站优化提升排名seo外包公司怎么样
  • 工作室官网源码优化seo深圳
  • 凡科网站后台河南seo推广
  • 哪个网站服务器比较好建立企业网站步骤
  • 2023年新的病毒又来了系统优化工具
  • 小红书体现的网络营销方式网站seo怎么操作
  • 帝国cms怎么做网站杭州网站优化方案