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>
分享到:
相关推荐
主要给大家介绍了关于spring配置文件解析失败报”cvc-elt.1: 找不到元素 'beans' 的声明”异常的解决方法,需要的朋友可以参考下
模拟spring的xml配置文件注入对象,里面用saxbuilder来解析xml文件。
Spring源码分析:配置文件读取流程 - ImportNew
主要介绍了Spring读取配置文件属性实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要详细记载了对Spring注解开发的源码解析,从IOC创建到bean的注册等一系列配置说明
<description>Spring公共配置文件 <!-- mes 的數據庫 --> <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/> ...
@@方式可以引用springboot非默认配置文件(即其他配置文件)中的变量; springboot默认配置文件是 src/main/resources/application.properties 补充知识:springboot项目使用@Value注解获取配置文件中的配置信息 ...
主要是讲spring自定义xml配置的扩展相关的内容,东西不算新的,都是比较基础的,想看就看一下 我也是为了搞点积分才上传的
springsecurity使用配置详解,压缩包里包含主要的代码和详细的word文件说明。
2.1.2 Spring Boot项目构建过程解析 24 2.2 使用起步依赖 27 2.2.1 指定基于功能的依赖 28 2.2.2 覆盖起步依赖引入的传递依赖 29 2.3 使用自动配置 30 2.3.1 专注于应用程序功能 31 2.3.2 运行应用程序...
2、spring-mvc配置文件包括两部分,一个是spring传统配置文件,在代码中为“applicationContext.xml”,主要配置代码中各种bean以及依赖关系;另外一个是spring-mvc特有的配置文件,处理跳转的代理类得(相当于...
通过dom4j解析配置文件,得到list集合(存放Bean标签的id和class属性) * 3.通过反射实例化得到对应的实例化对象,放置在map中(map是键值对,可根据id获取值)(遍历list获取对应的class属性,利用class。formName...
实际上就是对类上的value后面的属性值进行解析,然后拿到解析的数据和配置文件中的数据进行对比。如果对比成功,那么则通过反射,把相关的属性进行赋值。而配置文件的数据我们在上面加载environment文件的时候,已经...
Kafka配置文件server.properties,以及 IDEA 下消费者和生产者的编程代码解析
主要介绍了spring web.xml指定配置文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
内容为 rom.xml springmvc.xml spring.xml mybaties-config.xml db.properties log4j.properties web.xml
回答csdn论坛【java实现】java中怎么实现如下功能... 的Demo
(3)创建一个 spring mvc 的配置文件 (4)在 spring mvc 的配置文件中进行相关配置 1) 配置注解扫描路径 2)配置处理器映射器 3)配置处理器适配器 4)配置视图解析器 (5)开发 Controller
主要介绍了Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析,需要的朋友可以参考下
纯java底层读取配置文件,生成map,可以根据key模糊匹配查询,封装好了方法。比如getVal("spring.dubbo*url")