springmvc学习(一)

springMVC的执行过程:请求发出------>DispatcherServlet分发(前段控制器)----->后端控制器进行处理并返回ModelAndView------->视图解析器返回指定页面

以下是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:执行完毕,可以进行异常处理或者记录日志。

相关推荐