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

企业网站推广的实验内容站长推广网

企业网站推广的实验内容,站长推广网,官方网站怎么注册,专业网页制作软件都能帮助用户组织和管理最近在开发项目时遇到将springmvc无法处理的静态资源请求转发给tomcat默认的servlet进行处理的场景#xff0c;然后根据DispatcherServlet请求的路径#xff0c;找到了如何配置默认Servlet处理器。 一、配置方式 具体需要看您是否使用了springmvc提供的方式完成的注入配置然后根据DispatcherServlet请求的路径找到了如何配置默认Servlet处理器。 一、配置方式 具体需要看您是否使用了springmvc提供的方式完成的注入配置 使用了EnableWebMvc注解使用了SpringBoot中的自动装配org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration.EnableWebMvcConfiguration 这两种方式都是间接的使用了DelegatingWebMvcConfiguration完成了springmvc的配置 针对这种情况可以写一个WebMvcConfigurer接口的实现来完成配置 Component public class WebMvcConfigurerImpl extends WebMvcConfigurerAdapter {Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable(default);} }如果您是直接继承WebMvcConfigurationSupport类完成的springmvc配置可以重写父类的方法来完成配置 Configuration public class WebMvcConfigurationImpl extends WebMvcConfigurationSupport {Overrideprotected void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable(default);}}其中default是tomcat默认的Servlet的名称。  二、原理 要了解此配置的实现机制需要看WebMvcConfigurationSupport中的定义 /*** Return a handler mapping ordered at Integer.MAX_VALUE with a mapped* default servlet handler. To configure default Servlet handling,* override {link #configureDefaultServletHandling}.*/ Bean public HandlerMapping defaultServletHandlerMapping() {DefaultServletHandlerConfigurer configurer new DefaultServletHandlerConfigurer(this.servletContext);configureDefaultServletHandling(configurer);HandlerMapping handlerMapping configurer.buildHandlerMapping();return (handlerMapping ! null ? handlerMapping : new EmptyHandlerMapping()); }/*** Override this method to configure default Servlet handling.* see DefaultServletHandlerConfigurer*/ protected void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { }类中定义了defaultServletHandlerMapping方法方法中创建了DefaultServletHandlerConfigurer对象使用此对象的buildHandlerMapping方法用于构建一个HandlerMapping对象。 public class DefaultServletHandlerConfigurer {private final ServletContext servletContext;private DefaultServletHttpRequestHandler handler;/*** Create a {link DefaultServletHandlerConfigurer} instance.* param servletContext the ServletContext to use.*/public DefaultServletHandlerConfigurer(ServletContext servletContext) {Assert.notNull(servletContext, ServletContext is required);this.servletContext servletContext;}/*** Enable forwarding to the default Servlet.* pWhen this method is used the {link DefaultServletHttpRequestHandler}* will try to autodetect the default Servlet name. Alternatively, you can* specify the name of the default Servlet via {link #enable(String)}.* see DefaultServletHttpRequestHandler*/public void enable() {enable(null);}/*** Enable forwarding to the default Servlet identified by the given name.* pThis is useful when the default Servlet cannot be autodetected,* for example when it has been manually configured.* see DefaultServletHttpRequestHandler*/public void enable(String defaultServletName) {this.handler new DefaultServletHttpRequestHandler();this.handler.setDefaultServletName(defaultServletName);this.handler.setServletContext(this.servletContext);}/*** Return a handler mapping instance ordered at {link Integer#MAX_VALUE} containing the* {link DefaultServletHttpRequestHandler} instance mapped to {code /**};* or {code null} if default servlet handling was not been enabled.* since 4.3.12*/protected SimpleUrlHandlerMapping buildHandlerMapping() {if (this.handler null) {return null;}SimpleUrlHandlerMapping handlerMapping new SimpleUrlHandlerMapping();handlerMapping.setUrlMap(Collections.singletonMap(/**, this.handler));handlerMapping.setOrder(Integer.MAX_VALUE);return handlerMapping;}/*** deprecated as of 4.3.12, in favor of {link #buildHandlerMapping()}*/Deprecatedprotected AbstractHandlerMapping getHandlerMapping() {return buildHandlerMapping();}}DefaultServletHandlerConfigurer中定义了enable方法enable方法用于创建DefaultServletHttpRequestHandler对象并设置DefaultServletHttpRequestHandler对象的默认Servlet名称和Servlet上下文而buildHandlerMapping方法则用于创建一个SimpleUrlHandlerMapping对象用于处理其余HandlerMapping不能处理的所有请求使用的处理器正是enable方法中创建的DefaultServletHttpRequestHandler对象。 Override public void handleRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {RequestDispatcher rd this.servletContext.getNamedDispatcher(this.defaultServletName);if (rd null) {throw new IllegalStateException(A RequestDispatcher could not be located for the default servlet this.defaultServletName );}rd.forward(request, response); }DefaultServletHttpRequestHandler对象中处理请求使用了请求转发。
http://www.pierceye.com/news/902911/

相关文章:

  • 平面网站设计wordpress数据表更换域名
  • 上海网站设计合理柚v米科技济南网站优化公司电话
  • 卓拙科技做网站吗怎么用php做网站后台程序
  • 山东企业建站系统费用抚宁区建设局网站
  • 免费购物网站程序国外公共空间设计网站
  • 网站 选项卡 图标网站 关键词
  • 怎样在各大网站做有效的宣传抽奖网站怎么做的
  • 建立网站需要多少钱 索 圈湖南岚鸿新开传奇网站合击
  • 快手官方网站音乐人怎么做商城建站系统源码
  • 南充市建设厅官方网站高州做网站
  • 自建网站的优缺点wordpress题库制作
  • 哪家公司做网站毕业设计心理评测网站开发
  • 建设电影网站数据库脚本问答网站如何优化
  • 嘉峪关建设路小学网站游戏网页链接
  • 阿里云 网站根目录广东建筑企业50强
  • 河北省网络科技网站装饰设计素描
  • 合肥网站建设索q479185700企业做网站公司哪家好
  • wordpress暂停网站兰州网站建设方法
  • 丰台网站制作html教程 菜鸟教程
  • 在那个网站做直播好赚钱吗重庆妇科医院排名大全
  • 在线教育网站建设投标书查询公司的网站备案信息查询
  • 俄文网站策划wdcp wordpress
  • 建设个人网站流程中国工程建设招聘信息网站
  • 电影网站设计说明书在原域名给公司建立网站
  • 小规模公司做网站成本是什么wordpress主题转html
  • seo做的比较好的网站的几个特征app网站建设教程视频教程
  • 网站建设规范优质高等职业院校建设网站
  • 国内做网站哪家公司好机票什么网站建设
  • 万盛经开区建设局官方网站高校校园网站建设的要求
  • 制作企业网站的实训报告防伪码查询网站怎么做的