spring配置文件[servlet-name]-servlet.xml

注解式控制器简介:

在spring2.5之前都是通过实现controller接口或其实现来定义处理器类。

spring2.5开始支持通过注解@controller和@requestmapping来定义处理器类,DefaultAnnotationHandlerMapping、AnnotationMethodHandlerAdapter为@controller和@requestmapping提供支持。

spring3.0引入restful架构风格支持,引入了更多的注解。

spring3.1使用新的HandlerMapping和HandlerAdapter来支持@controller、@requestmapping注解处理器类,requesthandlermappingadapter和requesthandlermapping。

spring中的[servletname]-servlet.xml配置文件分为三步:

1.配置扫描包

<context:component-scan base-package="com.tgb.web.controller.annotation"> </context:component-scan>

  当spring启动的时候会自动扫描包下面含有@Component @[email protected]等这些注解的类并把它们注册为bean。也可以用传统方式直接在容器中为控制器注册,见例子。

注意:如果配置了<context:component-scan>那么<context:annotation-config/>标签就可以不用再xml中配置了,因为前者包含了后者。另外<context:annotation-config/>还提供了两个子标签如下,具体功能在此不介绍。

1).    <context:include-filter>

2.)    <context:exclude-filter>

  且必须要在文件头声明context如下:

xmlns:context="http://www.springframework.org/schema/context"

  使用<context:annotation- config/>隐式地向 Spring容器注册AutowiredAnnotationBeanPostProcessor、RequiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor以及PersistenceAnnotationBeanPostProcessor这4个BeanPostProcessor使得系统能够识别@Autowired、@ Resource 、@ PostConstruct、@ PreDestroy等注解。传统的注册方式如下(比较繁琐):

<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor "/>

2.配置处理器映射和处理器适配器

    <!--Spring3.1开始的注解 HandlerMapping -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> 

    <!--Spring3.1开始的注解 HandlerAdapter -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <!--线程安全的访问session-->
        <property name="synchronizeOnSession" value="true"/>
    </bean> 

  为@controller和@requestmapping提供支持(开启该注解支持)。

3.配置视图解析器

    <!-- ViewResolver -->
    <bean 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>

  加上前/后缀解析视图。



一份配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:p="http://www.springframework.org/schema/p"
  xmlns:mvc="http://www.springframework.org/schema/mvc"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context.xsd
  http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <context:component-scan base-package="com.tgb.web.controller.annotation">
    </context:component-scan>

    <!--Spring3.1开始的注解 HandlerMapping -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> 

    <!--Spring3.1开始的注解 HandlerAdapter -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <!--线程安全的访问session-->
        <property name="synchronizeOnSession" value="true"/>
    </bean> 

    <!-- ViewResolver -->
    <bean 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>

    <!--引用静态资源-->  <mvc:resources location="/img/" mapping="/img/**" />

  <!-- 处理器配置,也可以在此处注册控制器(其实扫描包时已经注册到容器中)-->

  <bean class="com.javass.mvc.web.controller.SuccessController"/>

  <bean class="com.javass.mvc.web.controller.FinshController"/>

</beans> 
时间: 2024-10-06 00:07:42

spring配置文件[servlet-name]-servlet.xml的相关文章

Spring配置文件详解 – applicationContext.xml文件路径

Spring配置文件详解 – applicationContext.xml文件路径 Java编程 spring的配置文件applicationContext.xml的默认地址在WEB-INF下,只要在web.xml中加入代码 1 2 3 4 5 <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener&

JavaWeb_(Spring框架)Spring配置文件

一.什么是spring IOC IOC(Inversion of Control)即控制反转,在我们以往的编程中如果需要一个bean往往需要去手动去new一个出来.而spring帮我们解决了这个问题,在spring中我们只需要去定义bean,spring就会自动的帮我们实例化并管理Bean.而这些Bean就管理在spring容器中. 所有的对象都被Spring所控制————这就是IOC(控制反转) ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很

【转】Servlet与web.xml的配置

Web.xml常用元素<web-app><display-name></display-name>定义了WEB应用的名字<description></description> 声明WEB应用的描述信息 <context-param></context-param> context-param元素声明应用范围内的初始化参数.<filter></filter> 过滤器元素将一个名字与一个实现javax.

servlet中web.xml配置详解

Web.xml常用元素 <web-app> 所有部署描述符文件的顶层(根)元素 <display-name></display-name>定义了WEB应用的名字 <description></description> 声明WEB应用的描述信息 <context-param></context-param> context-param元素声明应用范围内的初始化参数. <filter></filter>

spring配置文件头部配置解析(applicationContext.xml)

分享一个好的学习网站:http://how2j.cn?p=4509 相信大家对spring的配置文件应该都看的很多了,那么大家对配置文件头部的那一坨坨的东西到底是什么了解吗?下面我就把自己的一些见解和大家分享一下: 首先拿一段大家熟悉的头部配置文件来看: [html] view plain copy <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spring

在web.xml正确加载spring配置文件的方式

ssm框架整合时一直报出没有创建实例bean的错误,一直以为是代码原因,反复测试了很久,才找到原因是spring配置文件没有正确导入,下图是我的错误示例 web.xml加载spring配置文件的方式主要依据该配置文件的名称和存放的位置不同来区别,目前主要有两种方式. 1.如果spring配置文件的名称为applicationContext.xml,并且存放在WEB-INF/目录下,那么只需要在web.xml中加入以下代码即可 <listener> <listener-class>o

servlet 中 web.xml 备忘 总结

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.

Spring 管理Filter和Servlet

本文转载自:http://www.open-open.com/lib/view/open1417248512252.html 在使用spring容器的web应用中,业务对象间的依赖关系都可以用context.xml文件来配置,并且由spring容器来负责依赖对象的创建.如果要在filter或者servlet中使用spring容器管理业务对象,通常需要使用WebApplicationContextUtils.getRequiredWebApplicationContext(getServletCo

Spring管理Filter和Servlet

Spring管理filter和servlet 在使用spring容器的web应用中,业务对象间的依赖关系都可以用context.xml文件来配置,并且由spring容器来负责依赖对象  的创建.如果要在filter或者servlet中使用spring容器管理业务对象,通常需要使用 WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext())来获得WebApplicationContext,然后调用