web.xml中spring烂机器的配置
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/springMVC.xml</param-value>
</init-param>
<!-- 启动顺序,让这个Servlet随Servletp容器一起启动。 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<!-- 会拦截*.go结尾的请求 -->
<url-pattern>.go</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
org.springframework.web.servlet.DispatcherServlet:拦截所有的请求,然后到DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter中检索匹配并进行跳转到对应的Controller中
org.springframework.web.context.ContextLoaderListener:监听对应的操作
spring-MVC.xml中的配置,
1. <context:annotation-config/>隐式的向Spring 容器注册
AutowiredAnnotationBeanPostProcessor,CommonAnnotationBeanPostProcessor,
PersistenceAnnotationBeanPostProcessor以及RequiredAnnotationBeanPostProcessor这4 个BeanPostProcessor,解决了@Controller标识的类的bean的注入和使用。
2. <mvc:annotation-driven/>隐式注册了
DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter,解决了@Controller注解的使用前提配置。
第一条中的配置一般在配置包扫描路径扫描之后将其移除,为什么呢:
<context:component-scan base-package="***.***"/> 该配置项其实也包含了自动注入上述"1"中四个bean processor的功能,因此当使用 <context:component-scan/> 后,就可以将 <context:annotation-config/>移除了。
不配置<mvc:annotation-driven/>,基本的访问应该是没问题,比如servlet mapping的配置是"*.do", ".do"这种请求可以被正确捕捉和处理,但是如果添加静态资源访问,你可能要将拦截改为"/",此时你再次访问就会发现已经不能被正常拦截了,除非你加上<mvc:annotation-driven/>。
<mvc:annotation- driven/>在初始化的时候会自动创建两个对 象,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter 和 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
<!-- 对静态资源文件的访问 公司的实现方式 方案一 -->
<mvc:resources location="/admin/" mapping="/ajax/js/**" />
<mvc:resources location="/admin/" mapping="/images/**" />
<mvc:resources location="/admin/cargo" mapping="/admin/cargo/*.htm" />
<!-- 视图解释类 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 -->
<!-- 使spring支持jstl标签 -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>
<!-- 对静态资源文件的访问 方案三 -->
<mvc:default-servlet-handler/>
上传文件的控制
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="104857600"/>
<property name="maxInMemorySize" value="4096"/>
</bean>
<!-- 请求拦截(自定义的spring的总拦截器) -->
<mvc:interceptors>
<!-- 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求 -->
<bean class="www.baidu.com.util.SpringMVCInterceptor"/>
<!-- 定义在mvc:interceptor下面的表示是对特定的请求才进行拦截的
<mvc:interceptor>
<mvc:mapping path="/admin/editOutBoundUrl.mmx"/>
<bean class="www.baidu.com.interceptor.OutBoundUrlInterceptor"/>
</mvc:interceptor>
-->
</mvc:interceptors>
<!-- 总错误处理-->
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView">
<value>/error/error</value>
</property>
<property name="defaultStatusCode">
<value>500</value>
</property>
<property name="warnLogCategory"> <value>org.springframework.web.servlet.handler.SimpleMappingExceptionResolver</value>
</property>
</bean>
分享到:
相关推荐
这个错误提示表明XML解析器无法找到`<beans>`元素的定义,这是一个基本的Spring配置文件结构元素,用于包裹所有的bean定义。 Spring的配置文件遵循特定的命名空间和Schema定义,这些定义在`spring-beans.xsd`文件中...
这篇教程将详细讲解如何通过Spring的配置文件来实现AOP。 一、理解AOP概念 AOP的核心思想是将分散在各个模块中的交叉性代码(如日志、事务处理)抽取出来,形成独立的切面,以便于复用和维护。它提供了一种模块化的...
《Spring配置文件模板详解》 在Java开发领域,Spring框架以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)能力,成为了企业级应用开发的重要选择。而...
5. `spring-servlet.xml`: 这是Spring MVC的核心配置文件,配置了DispatcherServlet的处理器映射器、视图解析器、拦截器等,定义了Spring MVC的运行环境。 6. `web.xml`: 这是JavaWeb应用的部署描述符,定义了...
总的来说,Spring动态加载配置文件的实现涉及到文件监听、配置文件解析、应用上下文刷新以及Web容器的协同。通过这样的机制,开发者可以在开发阶段快速响应配置的更改,提高开发效率,同时降低生产环境因重启服务...
下面是对Spring配置文件的详细介绍。 首先,Spring配置文件通常是以`.xml`为扩展名的文件,例如`beans.xml`。这些文件存储在项目的`src/main/resources`目录下,以便在运行时被自动加载。Spring容器...
二、Spring配置文件 1. **beans.xml**:这是Spring应用中最常见的配置文件,用于定义bean及其依赖关系。在这里,我们可以声明bean的类、属性、初始化方法、依赖注入等。 2. **applicationContext.xml**:此文件通常...
### MyEclipse中Spring配置文件输入提示配置详解 #### 一、问题背景及解决思路概述 在使用MyEclipse进行Java开发时,特别是在涉及到Spring框架的应用中,经常会遇到配置文件编辑过程中缺乏智能提示的问题。这对于...
Spring框架是Java开发中最常用的轻量级框架之一,它的核心在于IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...深入学习Spring4的jar包和配置文件,将使你更好地驾驭Java开发环境,提高软件工程能力。
在Java开发中,Spring框架是应用最广泛的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器。...在实际开发中,应根据项目需求选择合适的方式,确保配置文件能被正确地加载和解析。
#### 二、Spring XML配置文件解析 在给定的示例中,我们看到了一个典型的Spring XML配置文件的结构: ```xml xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
#### 二、Spring AOP配置文件解析 在给定的配置文件中,我们看到了一个典型的Spring AOP配置实例。接下来我们将对这段配置进行详细的分析与解读。 ##### 2.1 配置文件头 ```xml ``` 这是XML文档的声明部分,...
以Properties配置文件为例,可以在配置文件中指定具体的类实现,然后通过Java程序读取这个配置文件,根据配置文件中的信息使用反射机制来创建对象实例。 总结来说,Spring框架通过IoC容器实现控制反转和依赖注入,...
- **定义**:`XmlBeanFactory`是基于XML配置文件的`BeanFactory`实现,它能够从XML文件中读取Bean的定义,并构建相应的Bean实例。 - **构造函数**:`XmlBeanFactory(Resource resource)`,其中`Resource`参数表示...
首先,Spring解析XML配置文件的过程是由`BeanDefinitionReader`完成的,它负责读取并解析XML文件,生成BeanDefinition对象。Spring提供了多种类型的BeanDefinitionReader,例如`XmlBeanDefinitionReader`,用于处理...
#### 二、Spring配置文件基础知识 在Spring框架中,配置文件是整个系统的核心组成部分之一。它定义了Spring容器中的各种Bean及其之间的关系。Spring支持多种类型的配置方式,其中XML配置文件是最常见的一种形式。...
1. **Mapper接口**:定义数据库操作的方法,与XML配置文件或注解对应。 2. **SQL映射文件**:编写具体的SQL语句,可以动态化处理,支持复杂的查询需求。 3. **MyBatis-Spring整合**:使MyBatis与Spring无缝集成,...
在Spring的配置文件(如`applicationContext.xml`或`dispatcher-servlet.xml`)中,我们需要添加以下XML配置: ```xml <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker....