文章目录
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、参数绑定: