资讯专栏INFORMATION COLUMN

基于SpringMVC模式的配置

lookSomeone / 709人阅读

摘要:目前支持个,分别是,,和注册和两个,及一系列缺省的需要中有相应的包的支持。相当于以下配置的效果。注意在版本中不支持在中再注册新的在版本中可以支持,写法如下注册或拦截器来拦截请求。例如拦截器实现代码如下将的替换当前的缺省的。

Spring mvc 目前支持5个tag,分别是

mvc:annotation-driven,mvc:interceptors,mvc:view-controller, mvc:resources和mvc:default-servlet-handler

mvc:annotation-driven

注册 DefaultAnnotationHandlerMapping 和AnnotationMethodHandlerAdapter两个bean,及一系列缺省的messageconverter(需要classpath中有相应的lib包的支持。)

相当于以下配置的效果。


    



    
        
            
        
    
    
        
            
            
            
            
            
        
    



注意在3.0.5版本中不支持在 mvc:annotation-driven中再注册新的messageconveter,在3.1版本中可以支持,写法如下


    
        
        
        
    

mvc:interceptors

注册HandlerInterceptors 或 WebRequestInterceptors 拦截器来拦截request请求。

例如


    
        
        
    

拦截器实现代码如下

public void afterCompletion(HttpServletRequest request,

        HttpServletResponse response, Object handler, Exception ex)
        throws Exception {
    log.debug("afterCompletion");
}

@Override
public void postHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler,
        ModelAndView modelAndView) throws Exception {
    log.debug("postHandle");
}

@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler) throws Exception {
    log.debug("preHandle");
    
    log.debug(handler.getClass().getName());
    return super.preHandle(request, response, handler);
}

mvc:default-servlet-handler

将spring mvc的DispatcherServlet替换当前web server的缺省的Servlet。这样做的好处是定义spring mvc处理请求时,不再需要定义.do,.action,/action/之类的url-pattern,而是可以直接定义为/ (注意不是/,/*将匹配所有请求而导致所有jsp和静态内容都无法正常显示,而/只匹配缺省的servlet)。

常见web 容器的default servlet name spring mvc中都能自动识别,但对于不常见的web 容器或default servlet name 被改写过的,则需增加参数 default-servlet-name来指定对应的servlet name.

需与一起使用

mvc:view-controller

将指定路径的请求直接转到对应的view上,而不需要特定的controller来处理请求。

例如


mvc:resources
将指定URL 的匹配模式来访问静态文件,如

表示将/WEB-INF/js/目录映射到/js/目录,cache超时时间为3600秒。
则jsp中引用 js/helloWorld.js实际上指向的是 /WEB-INF/js/helloWorld.js.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77630.html

相关文章

  • 手撕面试官系列(二):开源框架面试题Spring+SpringMVC+MyBatis

    摘要:跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来期间也没有准备充分,到底是因为技术原因影响自己的发展,偏移自己规划的轨迹,还是钱给少了,不受重视。 跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技...

    Flink_China 评论0 收藏0
  • 从SpringBoot到SpringMVC

    摘要:概述用久了,深受其约定大于配置的便利性毒害之后,我想回归到时代,看看开发模式中用户是如何参与的。备注当然本文所使用的全是非注解的配置方法,即需要在中进行配置并且需要遵循各种实现原则。而更加通用主流的基于注解的配置方法将在后续文章中详述。 showImg(https://segmentfault.com/img/remote/1460000015244684); 概述 用久了Sprin...

    xavier 评论0 收藏0
  • 构建springmvc+myabtis+dubbo分布式平台-dubbo简介

    摘要:服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的地址,并且能够平滑添加或删除服务提供者。调用关系说明服务容器负责启动,加载,运行服务提供者。服务提供者在启动时,向注册中心注册自己提供的服务。 上一篇我们介绍《构建dubbo分布式平台-maven构建ant-utils工具包的构建》,从今天开始,我们进入分布式服务项目的核心教程,真正使用dubbo实现分布...

    邹立鹏 评论0 收藏0
  • 构建springmvc+myabtis+dubbo分布式平台-dubbo简介

    摘要:服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的地址,并且能够平滑添加或删除服务提供者。调用关系说明服务容器负责启动,加载,运行服务提供者。服务提供者在启动时,向注册中心注册自己提供的服务。 上一篇我们介绍《构建dubbo分布式平台-maven构建ant-utils工具包的构建》,从今天开始,我们进入分布式服务项目的核心教程,真正使用dubbo实现分布...

    khlbat 评论0 收藏0
  • SpringMVC入门笔记

    摘要:入门笔记简介是一种基于的实现了设计模式的请求驱动类型的轻量级框架,是系开源项目中的一个,和配合使用。配置在中需要添加使用的和映射规则。入门较快,而掌握起来相对较难。 SpringMVC入门笔记 1. 简介 Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架 ,是Spring系开源项目中的一个,和IoC配合使用。通过策略接口,Spring...

    zhaochunqi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<