SpringMVC框架之一

#springMVC框架之概览
引入依赖

<!--springMVC基于Servlert-->
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
  </dependency>
<!--编写jsp,发送请求-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
      <version>2.0</version>
  </dependency>
<!--RequestBody ResponseBody注解使用
Springmvc 默认用 MappingJacksonHttpMessageConverter 对 json 数据进行转换,
需要加入 jackson 的包。mavne 工程直接导入坐标即可-->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.0</version> </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.0</version> </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.0</version>
    </dependency>

<!--测试助手-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
<!--文件上传-->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
    </dependency>

web.xml配置

<!-- 解决post中文乱码 (springmvc默认编码格式为“ISO-8859-1”,将收的中文参数(jsp上编码为utf-8))转成ISO-8859-1编码,造成乱码。get请求乱码需要修改tomcat的server.xml
-->
  <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>
<!--启动过滤器    -->
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>

<!--拦截所有请求  -->
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
<!-- 拦截所有资源 a:/**/ a值一半 -->
<!--    <url-pattern>1/2a</url-pattern>-->
<!--拦截前端控制器servlet    -->
    <servlet-name>SpringMVCDispatcherServlet</servlet-name>
  </filter-mapping>
  
    
<!-- 配置MVC前端控制器-(就是一个servlet,接收所有请求) -->
  <servlet>
    <servlet-name>SpringMVCDispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet </servlet-class>
    <!-- 配置初始化参数,用于读取 SpringMVC 的配置文件 -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:springMVC_config.xml</param-value>
    </init-param>
<!-- 配置servlet创建时间,加载web.xml时创建,只能是正整数,表示启动顺序   -->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>SpringMVCDispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

MVC配置文件基本配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!-- 配置创建 spring 容器要扫描的包 -->
    <context:component-scan base-package="cn.itheima"></context:component-scan>
<!--配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="suffix" value=".jsp"></property>
        <property name="prefix" value="/WEB-INF/pages/"></property>
    </bean>
<!-- 类型转换工厂   -->
    <bean id="converterService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<!--的类型转换器集合      -->
        <property name="converters">
            <array>
<!--自定义转换类                -->
                <bean class="cn.itheima.converters.StringToDateConverter"></bean>
            </array>
        </property>

    </bean>
<!--文件上传配置-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 最大允许上传大小5MB -->
        <property name="maxUploadSize" value="5242880" />
        <property name="maxInMemorySize" value="4096" />
        <property name="defaultEncoding" value="UTF-8"></property>
    </bean>
<!--异常处理器    -->

    <bean id="handlerExceptionResovler" class="cn.itheima.exceptionResover.CustomExceptionResovler"></bean>
<!--拦截器配置    -->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <bean class="cn.itheima.incepters.CustomeInceperter"></bean>
        </mvc:interceptor>
    </mvc:interceptors>
<!--静态资源放行:
DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,
包括静态资源的请求,Spring MVC会将它们当成一个普通请求处理,因此找不到对应处理器将导致错误。-->
<mvc:default-servlet-handler></mvc:default-servlet-handler>
<!--    替代注解处理器和适配器的配置-->
    <!-- 引用自定义类型转换器,适配器会将String === Date Controller预先经过自定义转换类 -->
    <mvc:annotation-driven conversion-service="converterService"></mvc:annotation-driven>
</beans>

springMVC组件作用描述
DispatcherServlet前端控制器:请求入口,相当于Servlet—收集所有请求在web.xml配置
HandlerMapping映射器负责请求和Controller建立关系
HandlerAdapter处理适配器负责请求适配到相应的Controller
Controller处理器处理请求:接收参数,返回数据
ViewResolver视图解析器将Controller返回的String解析成资源的物理地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值