1. 1 首先引入 xml 的约束
  2.  
  3. <?xml version="1.0" encoding="UTF-8"?>
  4. <beans xmlns="http://www.springframework.org/schema/beans"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  6. xmlns:context="http://www.springframework.org/schema/context"
  7. xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
  8. xsi:schemaLocation="
  9. http://www.springframework.org/schema/beans
  10. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  11. http://www.springframework.org/schema/context
  12. http://www.springframework.org/schema/context/spring-context-3.0.xsd
  13. http://www.springframework.org/schema/jee
  14. http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
  15. http://www.springframework.org/schema/tx
  16. http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
  17.  
  18. 2 <!-- 扫描指定包目下所有java类,把标记了@Controller注解的类转换为bean -->
  19. <context:component-scan base-package="com.mvc.spring.web" />
  20.  
  21. 3 <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 ,有几种形式-->
  22. A <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  23. p:prefix="/WEB-INF/view/" p:suffix=".jsp" />
  24. B <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
  25. <property name="prefix" value="/WEB-INF/view/" />
  26. <property name="suffix" value=".jsp" />
  27. <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
  28. </bean>
  29. 分析 viewClass指定了选择何种视图技术,这里使用JSTL技术;
  30. prefix是视图文件的前缀,即目录名,因为我们把persons.jsp放到了目录/WebRoot/之下,所以只需要配置一个“/”,如果放在目录/WebRoot/目录下的一个名称为view的目录中,这里prefix的值应该为/view/;
  31. suffix是视图文件的后缀,即扩展名,如使用JSP文件,则为“.jsp”。
  32.  
  33. 4 配置servelt上的注解映射
  34. <!-- 配置处理在类级别上的@RequestMapping注解,允许扩展自定义拦截器,在此类的基础上,只需要设置interceptors参数 -->
  35. <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
  36. <!-- 配置处理方法级别上的@RequestMapping注解 ,允许扩展自定义的方法注解,例如参数 webBindingInitializer,customArgumentResolver,messageConverters-->
  37. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
  38.  
  39. 5 <!-- 表示使用cglib,而非JDK的动态代理,因为Controller没有实现接口,所以要配置这里 -->
  40. <aop:aspectj-autoproxy proxy-target-class="true" />
  41.  
  42. 6 <!--用于文件上传->
  43. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
  44. p:defaultEncoding="utf-8" p:resolveLazily="ture" />
  45.  
  46. <!---通过该对象能绑定数据验证[自定义也行]与新的ConversionService->
  47. 7 <bean id="webBindingInitializer" class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
  48. <property name="validator" ref="validator" />
  49. <property name="conversionService" ref="conversionService"/>
  50. </bean>
  51.  
  52. <!---自定义的错误消息文件和错误消息键值,配置ValidationMessages.properties,此时错误消息键值的查找会先到classpathValidationMessages.properties中找,找不到再到默认的错误消息文件中找。->
  53. 8 <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
  54. <property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
  55. </bean>
  56.  
  57. <!--jsr303 数据验证,用于验证注解方法上的参数合法性,为了不影响业务代码,提前在执行前验证,因为版本较高,需要hibernate4[已经实现]-->
  58. 9 <bean id="methodValidationPostProcessor" class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor">
  59. <property name="validator" ref="validator"></property>
  60. </bean>
  61.  
  62. API(简称,全称,作用)
  63. A InternalResourceViewResolver [视图解析器]
  64. org.springframework.web.servlet.view.InternalResourceViewResolver
  65. 网络解析点 :http://7-sun.com/doc/spring2.5_doc_cn/org/springframework/web/servlet/view/InternalResourceViewResolver.html
  66.  
  67. B JstlView [JSTL视图]
  68. org.springframework.web.servlet.view.JstlView
  69.  
  70. C DefaultAnnotationHandlerMapping [映射控制器类上的注解]
  71. org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
  72.  
  73. D AnnotationMethodHandlerAdapter [映射控制器方法上的注解]
  74. org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
  75.  
  76. E CommonsMultipartResolver [文件上传]
  77. org.springframework.web.multipart.commons.CommonsMultipartResolver
  78.  
  79. F ConfigurableWebBindingInitializer [设置(绑定)某些重要属性spring属性]
  80. org.springframework.web.bind.support.ConfigurableWebBindingInitializer
  81.  
  82. G LocalValidatorFactoryBean [配置ValidationMessages.properties]
  83. org.springframework.validation.beanvalidation.LocalValidatorFactoryBean
  84.  
  85. J MethodValidationPostProcessor [方法参数验证[jsr303]]
  86. org.springframework.validation.beanvalidation.MethodValidationPostProcessor

SpringMVC控制器配置文件的更多相关文章

  1. SpringMVC控制器与视图的数据交换

    1,先创建spring的主配置文件(applicationContaxt.xml如果写在WEB-INF下,就不用配置context了,就是不用告诉它路径了,WEB-INF会自动加载的),由监听器负责加 ...

  2. springMVC控制器,处理器,映射器,适配器

    前端控制器DispatcherServlet <!--定义spring mvc 的前端控制器Servlet --><servlet> <!--Servlet的名称--&g ...

  3. ssm框架 spring的主配置文件 spring-mvc主配置文件 web.xml配置文件(基础的配置文件)

    1.spring主配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  4. (转)SpringMVC学习(三)——SpringMVC的配置文件

    http://blog.csdn.net/yerenyuan_pku/article/details/72231527 读者阅读过SpringMVC学习(一)——SpringMVC介绍与入门这篇文章后 ...

  5. 加载自定义目录下的springmvc.xml配置文件

    在默认情况下:springmvc框架的配置文件必须叫<servlet-name>-servlet.xml 且必须放在/WEB-INF/目录下,我们可以在web.xml文件中,为Dispat ...

  6. springMVC项目配置文件

    一.springMVC项目配置文件 1.web.xml文件全局配置 <servlet> <servlet-name> dispatcher </servlet-name& ...

  7. 关于springmvc的配置文件

    开发常用的springmvc.xml配置文件,spring 3.0 spring-servlet.xml配置. <?xml version="1.0" encoding=&q ...

  8. 3.SpringMVC修改配置文件路径和给界面传递数据

    1.修改配置文件路径  达到  配置多文件的目的 web.xml文件中基础配置有springMVC配置的servlet路径 <servlet-name>SpringMVC</serv ...

  9. SpringMVC控制器接收不了PUT提交的参数的解决方案

    摘要: SpringMVC控制器接收不了PUT提交的参数的解决方案 这次改造了下框架,把控制器的API全部REST化,不做不知道,SpringMVC的REST有各种坑让你去跳,顺利绕过它们花了我不少时 ...

随机推荐

  1. JNI函数复杂对象传递

    主要操作内容,包括如下几个部分: 1.在Native层返回一个字符串 2.从Native层返回一个int型二维数组(int a[ ][ ]) 3.从Native层操作Java层的类: 读取/设置类属性 ...

  2. 使用JDK自带jvisualvm监控tomcat

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  3. JavaScript Source Map 详解

    源码地址: http://www.ruanyifeng.com/blog/2013/01/javascript_source_map.html 上周,jQuery 1.9发布. 这是2.0版之前的最后 ...

  4. utf8乱码解决方案[适合tomcat部署的jsp应用]

    转:http://blog.csdn.net/cn_gaowei/article/details/6673539 1.       java类: CharacterEncodingFilter  im ...

  5. 【36】绝不重新定义继承而来的non-virtual方法

    1.绝不重新定义继承而来的non-virtual方法,为什么? 首先想想,non-virtual方法是干什么的?也就是说,它的使用场景.父类的non-virtual方法,其实就是告诉子类,继承实现,子 ...

  6. BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 LCT

    2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOn ...

  7. CSS_样式sample

    <!DOCTYPE HTML> <html> <head> <title>div浮动</title> <style type=&quo ...

  8. memcached client --ref

    Clients Client API's / libraries Updated Jul 14, 2012 by dorma...@rydia.net ref:https://code.google. ...

  9. 学通javaweb 24堂课 学习笔记

    17.01:简单配置控制器 1.一个controller protected ModelAndView handleRequestInternal(HttpServletRequest request ...

  10. ios 界面间跳转方法总结

    接触ios也有一段时间了,偶然间,我们公司的技术总监兼我的导师,问我,你可知道,界面间的跳转有几种方式?我说出了两种,但是也有点含糊其辞,于是我就想一定要找个时间总结一下.有句话说的好,“前人种树,后 ...