SpringMVC:配置文件

文章目录

  • 1、导入jar包
    • 1.1、maven坐标
  • 2、约束
    • 2.1、web.xml
    • 2.2、springmvc.xml
  • 3、web.xml常用功能
    • 3.1、springMVC的编码过滤器
    • 3.2、获取请求方式过滤器
    • 3.3、前端控制器
    • 3.4、监听器Spring整合SpringMVC
  • 4、springmvc.xml常用功能
    • 4.1、扫面组件
    • 4.2、视图解析器
    • 4.3、静态资源处理
    • 4.4、mvc注解驱动
    • 4.5、视图控制器
    • 4.6、文件上传解析器
    • 4.7、拦截器
    • 4.8、异常解析器

1、导入jar包

1.1、maven坐标

<properties>
	<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
	<maven.compiler.source>1.8maven.compiler.source>
	<maven.compiler.target>1.8maven.compiler.target>
	<spring.version>5.0.2.RELEASEspring.version>
	<slf4j.version>1.6.6slf4j.version>
	<log4j.version>1.2.12log4j.version>
	<mysql.version>8.0.19mysql.version>
	<mybatis.version>3.4.5mybatis.version>
properties>

<dependencies>
	
	<dependency>
		<groupId>org.aspectjgroupId>
		<artifactId>aspectjweaverartifactId>
		<version>1.8.7version>
	dependency>
	<dependency>
		<groupId>org.springframeworkgroupId>
		<artifactId>spring-aopartifactId>
		<version>${spring.version}version>
	dependency>
	<dependency>
		<groupId>org.springframeworkgroupId>
		<artifactId>spring-contextartifactId>
		<version>${spring.version}version>
	dependency>
	<dependency>
		<groupId>org.springframeworkgroupId>
		<artifactId>spring-webartifactId>
		<version>${spring.version}version>
	dependency>
	<dependency>
		<groupId>org.springframeworkgroupId>
		<artifactId>spring-webmvcartifactId>
		<version>${spring.version}version>
	dependency>
	<dependency>
		<groupId>org.springframeworkgroupId>
		<artifactId>spring-testartifactId>
		<version>${spring.version}version>
	dependency>
	<dependency>
		<groupId>org.springframeworkgroupId>
		<artifactId>spring-txartifactId>
		<version>${spring.version}version>
	dependency>
	<dependency>
		<groupId>org.springframeworkgroupId>
		<artifactId>spring-jdbcartifactId>
		<version>${spring.version}version>
	dependency>
	<dependency>
		<groupId>junitgroupId>
		<artifactId>junitartifactId>
		<version>4.12version>
		<scope>testscope>
	dependency>
	
	<dependency>
		<groupId>javax.servletgroupId>
		<artifactId>javax.servlet-apiartifactId>
		<version>4.0.1version>
		<scope>providedscope>
	dependency>
	<dependency>
		<groupId>javax.servlet.jspgroupId>
		<artifactId>jsp-apiartifactId>
		<version>2.2version>
		<scope>providedscope>
	dependency>
	<dependency>
		<groupId>jstlgroupId>
		<artifactId>jstlartifactId>
		<version>1.2version>
	dependency>
	
	<dependency>
		<groupId>log4jgroupId>
		<artifactId>log4jartifactId>
		<version>${log4j.version}version>
	dependency>
	<dependency>
		<groupId>org.slf4jgroupId>
		<artifactId>slf4j-apiartifactId>
		<version>${slf4j.version}version>
	dependency>
	<dependency>
		<groupId>org.slf4jgroupId>
		<artifactId>slf4j-log4j12artifactId>
		<version>${slf4j.version}version>
	dependency>
	
	<dependency>
		<groupId>mysqlgroupId>
		<artifactId>mysql-connector-javaartifactId>
		<version>${mysql.version}version>
	dependency>
	
	<dependency>
		<groupId>c3p0groupId>
		<artifactId>c3p0artifactId>
		<version>0.9.1.2version>
		<type>jartype>
		<scope>compilescope>
	dependency>
	
	<dependency>
		<groupId>org.mybatisgroupId>
		<artifactId>mybatisartifactId>
		<version>${mybatis.version}version>
	dependency>
	<dependency>
		<groupId>org.mybatisgroupId>
		<artifactId>mybatis-springartifactId>
		<version>1.3.0version>
	dependency>
	
    <dependency>
        <groupId>org.thymeleafgroupId>
        <artifactId>thymeleaf-spring5artifactId>
        <version>3.0.12.RELEASEversion>
    dependency>
    
    <dependency>
        <groupId>ch.qos.logbackgroupId>
        <artifactId>logback-classicartifactId>
        <version>1.2.3version>
    dependency>
dependencies>

2、约束

2.1、web.xml

3.0


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">

web-app>

4.0


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
         http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

web-app>

2.2、springmvc.xml

代码如下(示例):


<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
	http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/mvc
	http://www.springframework.org/schema/mvc/spring-mvc.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context.xsd">
	
beans>

3、web.xml常用功能

3.1、springMVC的编码过滤器


<filter>
    <filter-name>CharacterEncodingFilterfilter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
    
    <init-param>
        <param-name>encodingparam-name>
        <param-value>UTF-8param-value>
    init-param>
    
    <init-param>
        <param-name>forceEncodingparam-name>
        <param-value>trueparam-value>
    init-param>
filter>
<filter-mapping>
    <filter-name>CharacterEncodingFilterfilter-name>
    <url-pattern>/*url-pattern>
filter-mapping>

3.2、获取请求方式过滤器


<filter>
	<filter-name>HiddenHttpMethodFilterfilter-name>
	<filter-class>org.springframework.web.filter.HiddenHttpMethodFilterfilterclass>
filter>
<filter-mapping>
	<filter-name>HiddenHttpMethodFilterfilter-name>
	<url-pattern>/*url-pattern>
filter-mapping>

3.3、前端控制器


<servlet>
	<servlet-name>dispatcherServletservlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet
	servlet-class>
	
	<init-param>
		<param-name>contextConfigLocationparam-name>
		
		<param-value>classpath:springmvc.xmlparam-value>
	init-param>
	
	<load-on-startup>1load-on-startup>
servlet>
<servlet-mapping>
	<servlet-name>dispatcherServletservlet-name>
	<url-pattern>/url-pattern>
servlet-mapping>

3.4、监听器Spring整合SpringMVC

	
	
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener
		listener-class>
	listener>
	
	<context-param>
		<param-name>contextConfigLocationparam-name>
		<param-value>classpath:applicationContext.xmlparam-value>
	context-param>

4、springmvc.xml常用功能

4.1、扫面组件

组件:我们自己写的类,使用注解
@Component
@Controller
@Service
@Repository
注册到spring中


<context:component-scan
	base-package="com.tianyu">
	
	<context:include-filter type="annotation"
		expression="org.springframework.stereotype.Controller" />
context:component-scan>

4.2、视图解析器

InternalResourceViewResolver


<bean id="internalResourceViewResolver"
	class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	
    <property name="prefix" value="/WEB-INF/jsp/"/>
	
	<property name="suffix" value=".jsp">property>
bean>

ThymeleafViewResolver


<bean id="viewResolver"
      class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
    <property name="order" value="1"/>
    <property name="characterEncoding" value="UTF-8"/>
    <property name="templateEngine">
        <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
            <property name="templateResolver">
                <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
                    
                    <property name="prefix" value="/WEB-INF/templates/"/>
                    
                    <property name="suffix" value=".html"/>
                    <property name="templateMode" value="HTML5"/>
                    <property name="characterEncoding" value="UTF-8"/>
                bean>
            property>
        bean>
    property>
bean>

4.3、静态资源处理

方式一


<mvc:default-servlet-handler/>

方式二


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

4.4、mvc注解驱动


<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <constructor-arg value="UTF-8"/>
        bean>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
                    <property name="failOnEmptyBeans" value="false"/>
                bean>
            property>
        bean>
    mvc:message-converters>
mvc:annotation-driven>

4.5、视图控制器


<mvc:view-controller path="/" view-name="index">mvc:view-controller>

4.6、文件上传解析器



<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
   
   <property name="defaultEncoding" value="utf-8"/>
   
   <property name="maxUploadSize" value="10485760"/>
   <property name="maxInMemorySize" value="40960"/>
bean>

4.7、拦截器

方式一


<mvc:interceptors>
	
    <bean class="pers.tianyu.interceptor.FirstInterceptor">bean>
mvc:interceptors>

方式二


<bean id="firstInterceptor" class="pers.tianyu.interceptor.FirstInterceptor">bean>

<mvc:interceptors>
    <ref bean="firstInterceptor">ref>
mvc:interceptors>

方式三


<bean id="firstInterceptor" class="pers.tianyu.interceptor.FirstInterceptor">bean>

<mvc:interceptors>
    
    <mvc:interceptor>
   		
        <mvc:mapping path="/**"/>
        
        <mvc:exclude-mapping path="/testRequestEntity"/>
        
        <ref bean="firstInterceptor">ref>
    mvc:interceptor>
mvc:interceptors>

4.8、异常解析器


<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="exceptionMappings">
        <props>
            
            <prop key="java.lang.ArithmeticException">errorprop>
        props>
    property>
    
    <property name="exceptionAttribute" value="ex">property>
bean>

你可能感兴趣的:(SpringMVC,java,spring)