spring mvc见解

来源:互联网 发布:qq克隆音乐软件 编辑:程序博客网 时间:2024/06/06 07:53
1 由于spring是轻量级的框架.所谓轻量级是指对应用服务器容器不具有入侵性。
2 j2ee项目中.部署到一个容器中后。一旦有请求到来。容器首先查找的是web.xml,这个配置文件会告诉容器欢迎页面是谁。当前请求的url映射到那个


servlet上面去。
3 spring中的DispatcherServlet,我们会在web.xml中配置请求转向这个spring。这是spring mvc的一个前端控制器。
4 DispatcherServlet要将一个请求交给哪个特定的Controller。它需要咨询一个Bean。这个Bean的名字为“HandlerMapping”。 HandlerMapping是把一个


URL指定到一个Controller上的处理器。在基于Spring MVC的Web应用程序中,我们可以为DispatcherServlet提供多个Handler- Mapping供其使用。


DispatcherServlet在选用HandlerMapping的过程中,将根据我们所指定的一系列HandlerMapping的优先级进行排序,然后优先使用优先级在前的


HandlerMapping。如果当前的HandlerMapping能够返回可用的Handler,DispatcherServlet则使用当前返回的Handler进行Web请求的处理,而不再继续询问其


他的HandlerMapping。否则,DispatcherServlet将继续按照各个HandlerMapping的优先级进行询问,直到获取一个可用的Handler为止。
5 基于注解的HandlerMapping的实现类通常有两个DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter。当DispatcherServlet初始化后它


会去找一个spring-mvc.xml的配置文件。在配置文件里首先要配置映射处理器可以扫描的文件包<context:component-scan base-package="com.lac" /> 其次


要配置映射处理器。可以添加默认的 <tx:annotation-driven />也可以显式的手工添加。
6 <tx:annotation-driven /> 添加默认的映射器
7 <mvc:resources mapping="/images/**" location="/images/" />  这样也会添加一个映射器用来处理静态的文件
8 <mvc:default-servlet-handler/>   这样也会添加一个映射器 用来把url映射到容器默认的servlet上
9 添加拦截器 这样会默认给每一个映射器添加一个
<mvc:interceptors>
   <mvc:interceptor>
<bean class="com.lac.interceptor.LoginInterceptor" />
   </mvc:interceptor>
</mvc:interceptors>
10 也可以手动的给每一个映射器添加不同的拦截器。
11 使用注解方式 <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />添加控制器
12 配置视图解析器 
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/view/" 
p:suffix=".jsp">
<property name="order" value="0"/>
</bean>
13配置JNDI连接JBOSS连接池 
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">  
            <value>java:comp/env/jdbc/sqlserver</value>  
        </property> 
</bean>
14 Spring iBatis SqlMapClient
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    <property name="configLocation" value="classpath:SqlMapConfig.xml" />
    <property name="dataSource" ref="dataSource" />
</bean>
15配置事务  
<bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   <property name="dataSource" ref="dataSource" />
</bean>





原创粉丝点击