Servlet

  • jsp前端网页写完以后需要在web.xml注册
  • from action == 数据所要去向的目的地 method == get/post方式

MVC框架做的事

  • 将url映射到java类或java类的方法
  • 封装用户提交的数据
  • 处理请求—调用相关的业务处理—封装响应数据
  • 讲响应的数据进行渲染 .jsp/html等表示层数据

Spring MVC的特点:

  1. 轻量级,简单易学
  2. 高效,基于请求响应的MVC框架
  3. 与Spring的兼容性好,无缝结合
  4. 约定优于配置 怎么写的怎么用
  5. 功能强大:RESTful、数据验证、格式化、本地化、主题等
  6. 简洁灵活

注解 组件

@Component 组件
@Service service
@Controller controller
@Repository dao

@Controller 走视图解析器
@RestController 直接返回一个字符串

spring容器固定配置

  1. 配置DispatcherServlet
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:springmvc-servlet.xml</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>
  2. 配置CharacterEncodingFilter 解决spring乱码过滤
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <filter>
    <filter-name>encoding</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>encoding</filter-name>
    <url-pattern>/</url-pattern>
    </filter-mapping>
  3. 解决json乱码问题
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        <mvc:annotation-driven>
    <!-- 解决json乱码问题-->
    <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>