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

郑州网站建设丶汉狮网络wordpress站内搜索

郑州网站建设丶汉狮网络,wordpress站内搜索,全国icp网站备案审核时间,做网站框架可用jpg图吗处理程序映射 简介 在早期版本的 Spring 中#xff0c;用户需要在 Web 应用程序上下文中定义一个或多个 HandlerMapping bean 以将传入的 Web 请求映射到适当的处理程序。随着注解控制器的引入#xff0c;通常不再需要这样做#xff0c;因为 RequestMappingHandlerMapping…处理程序映射 简介 在早期版本的 Spring 中用户需要在 Web 应用程序上下文中定义一个或多个 HandlerMapping bean 以将传入的 Web 请求映射到适当的处理程序。随着注解控制器的引入通常不再需要这样做因为 RequestMappingHandlerMapping 会自动查找所有 Controller bean 上的 RequestMapping 注解。然而请记住所有从 AbstractHandlerMapping 扩展的 HandlerMapping 类都具有以下属性您可以使用这些属性来定制它们的行为 interceptors拦截器列表。HandlerInterceptors 在第 22.4.1 节“使用 HandlerInterceptor 拦截请求”中讨论。defaultHandler当此处理程序映射未能找到匹配的处理程序时使用的默认处理程序。order基于 order 属性的值参见 org.springframework.core.Ordered 接口Spring 会对上下文中可用的所有处理程序映射进行排序并应用第一个匹配的处理程序。alwaysUseFullPath如果设置为 trueSpring 将使用当前 Servlet 上下文中的完整路径来查找适当的处理程序。如果设置为 false默认值则使用当前 Servlet 映射中的路径。例如如果一个 Servlet 使用 /testing/* 进行映射并且 alwaysUseFullPath 属性设置为 true则使用 /testing/viewPage.html而如果属性设置为 false则使用 /viewPage.html。urlDecode默认为 true从 Spring 2.5 开始。如果您更喜欢比较编码路径请将此标志设置为 false。然而HttpServletRequest 始终以解码形式公开 Servlet 路径。请注意当与编码路径进行比较时Servlet 路径将不匹配。 以下示例展示了如何配置一个拦截器 beansbean classorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMappingproperty nameinterceptorsbean classexample.MyInterceptor//property/bean /beansbeans 标签用于定义 Spring 应用上下文的配置文件。bean 标签用于定义一个 Spring bean。这里定义了一个 RequestMappingHandlerMapping bean它用于处理基于注解的控制器请求映射。property nameinterceptors 标签用于设置 RequestMappingHandlerMapping bean 的 interceptors 属性这个属性是一个拦截器列表。bean classexample.MyInterceptor/ 定义了一个名为 example.MyInterceptor 的拦截器 bean它会被添加到 RequestMappingHandlerMapping 的拦截器列表中。 通过这样的配置example.MyInterceptor 将作为拦截器用于处理所有匹配的请求。 Intercepting requests with a HandlerInterceptor 使用 HandlerInterceptor 拦截请求 Spring 的处理器映射机制包括处理器拦截器这在你希望对某些请求应用特定功能时非常有用例如检查主体。 位于处理器映射中的拦截器必须实现 org.springframework.web.servlet 包中的 HandlerInterceptor 接口。此接口定义了三个方法preHandle(..) 在实际处理器执行之前调用postHandle(..) 在处理器执行后调用afterCompletion(..) 在整个请求完成后调用。这三个方法应该提供足够的灵活性来进行各种预处理和后处理。 preHandle(..) 方法返回一个布尔值。你可以使用此方法来中断或继续执行链的处理。当此方法返回 true 时处理器执行链将继续当它返回 false 时DispatcherServlet 假定拦截器本身已经处理了请求例如渲染了适当的视图并且不会继续执行执行链中的其他拦截器和实际处理器。 可以使用 interceptors 属性配置拦截器该属性存在于从 AbstractHandlerMapping 扩展的所有 HandlerMapping 类上。以下示例展示了如何配置 beansbean idhandlerMappingclassorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMappingproperty nameinterceptorslistref beanofficeHoursInterceptor//list/property/beanbean idofficeHoursInterceptorclasssamples.TimeBasedAccessInterceptorproperty nameopeningTime value9/property nameclosingTime value18//bean /beanspackage samples;public class TimeBasedAccessInterceptor extends HandlerInterceptorAdapter {private int openingTime;private int closingTime;public void setOpeningTime(int openingTime) {this.openingTime openingTime;}public void setClosingTime(int closingTime) {this.closingTime closingTime;}public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler) throws Exception {Calendar cal Calendar.getInstance();int hour cal.get(HOUR_OF_DAY);if (openingTime hour hour closingTime) {return true;}response.sendRedirect(http://host.com/outsideOfficeHours.html);return false;} }在上述代码中我们定义了一个 TimeBasedAccessInterceptor 拦截器它会在处理任何请求之前检查当前时间是否在办公时间内。如果在办公时间内请求将继续处理否则用户将被重定向到一个静态的 HTML 文件。 在这个配置中任何由 RequestMappingHandlerMapping 处理的请求都会被 TimeBasedAccessInterceptor 拦截。如果当前时间在 openingTime 和 closingTime 之间拦截器返回 true请求继续处理。否则拦截器会重定向到一个静态的 HTML 文件并返回 false 来中断请求处理。 注意事项 使用 RequestMappingHandlerMapping 时实际处理器是一个 HandlerMethod 实例它标识将被调用的具体控制器方法。HandlerInterceptorAdapter 类简化了扩展 HandlerInterceptor 接口的工作。如果你想将拦截器应用于特定的 URL 路径可以使用 MVC 命名空间或 MVC Java 配置或者声明类型为 MappedInterceptor 的 bean 实例。 实现方法的局限性 HandlerInterceptor 的 postHandle 方法并不总是适用于 ResponseBody 和 ResponseEntity 方法。在这种情况下HttpMessageConverter 会在 postHandle 调用之前写入并提交响应这使得修改响应例如添加一个头部信息变得不可能。可以实现 ResponseBodyAdvice 接口并将其声明为 ControllerAdvice bean或直接在 RequestMappingHandlerAdapter 上配置以解决上述问题。
http://www.hkea.cn/news/14581757/

相关文章:

  • 个人怎样做旅游网站什么是网络社交安全
  • 辽宁东方建设工程有限公司网站seo优化教程自学网
  • 报送举报网站建设情况个人网站设计制作步骤
  • 电子商务网站网络拓扑图wordpress自动链接到图片大小
  • 外贸网站建站系统dw网页制做教程
  • 成都旅游网站建设规划wordpress 统计ip
  • 阿里云建站中级版和高级版新加坡网站域名
  • 阿里云服务器搭建wordpress惠州seo排名收费
  • 网站建设在电子商务中的作用怎样买空间做网站
  • 网站源码绑定域名处理网络推广方法
  • 协同办公oa福州seo网站建设
  • 阿里建设网站建筑人才网筑才网
  • 制作投票网站怎样建设打字网站
  • 代做网站排名wordpress搜索字段
  • 学校门户网站是什么意思河南工程建设交易信息网
  • 旅游网站建设ppt模板下载潍坊专业网站建设最新报价
  • 铜陵市建设局网站做网站域名的设置
  • 昆明网站建设方案托管上海网页设计公司名单
  • 专门做单页的网站食品包装设计风格
  • 新乡 网站开发招商码头无忧查询系统
  • 网站管理系统有哪些网站建设不备案后果
  • 北京高端网站制作做qq链接的网站
  • 石景山 网站建设设计页面尺寸图
  • 广东省建设网站天津票网网站
  • 惠州网站建设哪家好深圳免费建站
  • 网站色彩的搭配原则有哪些潍坊网站建设潍坊
  • 阿里云做视频网站温州乐清哪里有网络公司
  • 北京哪家网站建设好汉口企业制作网站的
  • 贵阳市建设局网站网站建设可行性分析
  • 做网站赚钱还是企业宣传片wap网站模板