SpringMVC总结

1、配置文件基本配置

1、配置springmvc的相关步骤:

  (1)在web.xml文件下,配置核心的控制器(配置DispatcherServlet)(在配置乱码过滤器)

  			<!--配置核心控制器(就是配置一个Servlet)-->
  				<servlet>
  				    <servlet-name>dispatcherServlet</servlet-name>
  				    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  				    <!--全局的初始化参数-->
  				    <!--让这个Servlet去加载SpringMVC.xml配置文件-->
  				    <init-param>
  				        <param-name>contextConfigLocation</param-name>
  				        <param-value>classpath:SpringMVC.xml</param-value>
  				    </init-param>
  				    <!-- 配置servlet启动时加载对象 -->
  				    <load-on-startup>1</load-on-startup>
  				</servlet>
  				
  				<servlet-mapping>
  				    <servlet-name>dispatcherServlet</servlet-name>
  				    <!--引发任何的请求,都会经过这个servlet-->
  				    <url-pattern>/</url-pattern>
  				</servlet-mapping>

  				配置乱码过滤器:
  				<filter>
    					<filter-name>characterEncodingFilter</filter-name>
  			        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  			        <!--初始化参数-->
  			        <init-param>
  			            <param-name>encoding</param-name>
  			            <param-value>UTF-8</param-value>
  			        </init-param>
  			    </filter>
  			
  			    <filter-mapping>
  			        <filter-name>characterEncodingFilter</filter-name>
  			        <!--拦截的路径-->
  			        <url-pattern>/*</url-pattern>
  			    </filter-mapping>


  (2) 创建主配置文件:
  					配置IOC创建容器要扫描的包
  					配置视图的解析器(InternalResourceViewResolver)
  					添加注解支持

2、配置文件详解:

  	1、 <context:component-scan base-package="包"></context:component-scan>		指定要collection层扫描的包
  	
  	2、把视图解析器(InternalResourceViewResolver)放入容器:

  			<!--配置视图的解析器-->
  		    <!--作用:会根据控制器的返回值,跳转到指定的jsp页面-->
  		    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  		        <!--跳转的文件所在的目录:在该目录下寻址指定的文件-->
  		        <property name="prefix" value="/WEB-INF/pages/"/>
  		        <!--文件的后缀名是什么-->
  		        <property name="suffix" value=".jsp"/>
  		    </bean>

  	3、<mvc:annotation-driven/>

  			该注解不仅开启支持SpringMVC注解的支持,还自动加载了处理映射器和 处 理 适 配 器

  	4、类型转换器:
  			将自定义好的类型转换器(实现Converter接口)添加到类型转换器工厂:
  						类型转换器工厂:ConversionServiceFactoryBean  通过set方法给converters赋值
  			在让把类型转换器生效:

  			<!--配置自定义类型转化器-->
  			<bean id="conversionServiceFactoryBean" class="org.springframework.context.support.ConversionServiceFactoryBean">
  			   <!--把自己定义的类型转换器,添加到工厂中-->
  			    <property name="converters">
  			        <set>
  			            <bean class="com.zy.converter.MyStringToDate"/>
  			        </set>
  			    </property>
  			</bean>
  			
  			<!--让上面的配置生效-->
  			<!--开启SpringMVC注解的支持-->
  			<mvc:annotation-driven conversion-service="conversionServiceFactoryBean" />

  	5、配置静态资源不拦截:

  			<mvc:resources location="/css/" mapping="/css/**"/>
  			<mvc:resources location="/images/" mapping="/images/**"/>
  			<mvc:resources location="/js/" mapping="/js/**"/>

  6、文件解析器:CommonsMultipartResolver

  		把CommonsMultipartResolver对象放到IOC中,文件解析器的id必须为:multipartResolver
  		可以配置其属性值

  		<!-- 配置文件解析器对象,要求id名称必须是multipartResolver -->
  			 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  			    <property name="maxUploadSize" value="10485760"/>
  			</bean>


  7、配置异常处理器:(将自定义好的异常处理器放入到IOC容器中就可以)
  
  8、拦截器配置:
  			 <mvc:interceptors>标签下配置多个<mvc:interceptor>拦截器标签
  			在<mvc:interceptor>标签下面使用<mvc:mapping path="拦截路径"/>和<bean class="拦截器"/>指定

在这里插入图片描述

2、常用注解

1、@RequestMapping注解:

  类上一级访问目录,方法上二级访问目录
  属性:
  		value和path属性指定路径
  		method方法指定请求方式
  		params属性:限制请求条件
  		headers属性:用于指定限制请求消息头的条件

2、常见注解:

  	1、@Controller放入容器

  		2、@RequestParam注解,参数上,请求中指定名称的参数 给 控制器中的形参赋值

  		3、@RequestBody注解
  						参数上,获取请求体的内容,传入控制器方法参数(json转bean)
  						返回值类型前,把返回值以json形式传出(bean转json)

  		4、@PathVariable注解,参数上,把占位符的值,赋值给控制器的参数

			5、@RequestHeader注解,参数上,获取指定请求头的值,传入控制器方法参数
 
 		6、@CookieValue注解,获取指定cookie的名称的值,传入控制器方法某个参数
  
  		7、@ModelAttribute注解:会在控制器的方法执行之前,先执行该方法
  					方法上:  
  							有返回值:可以把增强的数据返回,会被控制器接收
  							无返回值:可以通过map集合把对象存起来,在控制器上使用map
  					参数上:
  							获取map中的指定数据,给控制器方法的参数赋值(和无返回值结合使用)
  
  		8、@SessionAttributes注解:多次执行控制器方法间的参数共享
  				value属性:用于指定存入的属性名称,把指定的属性放入session

3、其他

1、控制器返回值:

2、转发重定向:

3、参数绑定:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小镇男孩~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值