• spring MVC 学习(四)---拦截器,视图解析器


    1.接口HandlerInterceptor

    该接口包含3个方法,分别是preHandle,postHandle,afterCompletion,分别代表着执行前,执行后,执行完成要执行的方法,其中proHandle如果返回false代表中断后续动作。

    //在执行目标程序之前执行,dang放回false就不再向后执行,但还会执行afterCompletion
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {
            // TODO Auto-generated method stub
            return false;
        }
        //在执行目标程序之后执行
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                ModelAndView modelAndView) throws Exception {
            // TODO Auto-generated method stub
    
        }
        //在整个请求处理完后执行
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
                throws Exception {
            // TODO Auto-generated method stub
    
        }

    2.视图解析器

    官方文档给出了常用的视图解析器:

    image

    其中我们常用的可能就是上面红框中的,不过在一般在使用的是jsp的话,使用第一个红框中的就可以瞒住绝大部分需求了。

    InternalResourceViewResolver一般的配置文件如下spring-mvc.xml

    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    由于InternalResourceViewResolver继承了UrlBasedViewResolver,在UrlBasedViewResolver中有属性contentType,该属性用来设置视图中的context type,一般建议加上:

    <property name="contentType" value="text/html;charset=utf-8" />

     

  • 相关阅读:
    JavaScript单线程和浏览器事件循环简述
    Promise的前世今生和妙用技巧
    自定义Angular插件
    smartcrop.js智能图片裁剪库
    判断是否安装微博
    Java 注解
    android tools使用方式
    listview复用机制研究
    java 驼峰字符和下划线字符相互转换工具类
    剪切板(复制、粘贴)工具类
  • 原文地址:https://www.cnblogs.com/haoke/p/5005239.html
Copyright © 2020-2023  润新知