以下是springMVC配置的一种
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <!-- springmvc的配置(一) --> <beans> <!-- 映射配置器:SimpleUrlHandlerMapping(将各个请求及对应的Bean注册.)--> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <!-- 为其增加拦截器:拦截mappings中的controller --> <property name="interceptors"> <list> <ref bean="workTimeInterceptor"/> </list> </property> <property name="mappings"> <props> <prop key="/home.htm">homeController</prop> </props> </property> </bean> <!--试图解析器:将控制器返回的view名称处理之后redirect:或者forward: --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <!-- 说明返回的视图目录的位置 --> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> <bean id="homeController" class="cn.nsl.web.user.HomeController"> <!-- <property name="commandName" value="command"/> --> <!-- <property name="commandClass" value="java.lang.Object"/> --> <!-- <property name="formView" value="home"/> --> <!-- <property name="successView" value="home"/> <!--成功则返回: /WEB-INF/views/home.jsp --> </bean> <!-- 拦截器: --> <bean id="workTimeInterceptor" class="cn.nsl.web.user.LoginTimeInterceptor">[/b] <property name="startTime" value="6" /> <property name="endTime" value="18" /> </bean> </beans>
注意:拦截器中有三个方法:
1、preHandle:预处理,可以做一些编码和安全方面的操作。
2、postHandle:这时已经返回了ModelAndView但是还没有渲染页面,可以修改ModelAndView。
3、afterComoletion:执行完毕,可以进行异常处理或者记录日志。