SpringMVC

Posted fengjianbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC相关的知识,希望对你有一定的参考价值。

       Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。 使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

 Spring MVC工作原理

 

1.用户发送请求到前端控制器。
2.前端控制器请求处理器映射器去查找处理器。
3.找到以后处理器映射器向前端控制器返回执行链。
4.前端控制器调用处理器适配器去执行处理器。
5.处理器适配器去执行Handler。
6.处理器执行完给处理器适配器返回ModelAndView。
7.处理器适配器向前端控制器返回ModelAndView。
8.前端控制器请求视图解析器去进行视图解析。
9.视图解析器向前端控制器返回View。

 

10.前端控制器对视图进行渲染。

 

11.前端控制器向用户响应结果。

基本配置(非注解)

  1、新建工程,导入构建SpringMVC工程所需的jar包

  技术图片

  2、配置前端控制器

  在web.xml中配置前端控制器:

技术图片
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>day_0301_springMVC</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <!-- 前端控制器 -->
  <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <!-- contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器、适配器等等) 
         如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-servlet.xml
     -->
     <init-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>classpath:springmvc.xml</param-value>
     </init-param>
  </servlet>
  <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <!--
          第一种:*.action,访问以.action结尾由DispatcherServlet进行解析
          第二种:/, 所有访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析
       -->
      <url-pattern>*.action</url-pattern>
  </servlet-mapping>
</web-app>
技术图片

  3、配置处理器映射器

  在classpath下的springmvc.xml中配置处理器映射器

  技术图片

<!-- 处理器映射器  ,将bean的name作为URL进行查找,需要在配置Handler时指定beanName(就是URL)-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

  4、配置处理器适配器

<!-- 处理器适配器,所有的处理器适配器都实现HandlerAdapter接口 -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter">
    </bean>

  5、配置视图解析器

<!-- 配置视图解析器 
     解析jsp视图,默认使用jstl标签
     CLASSPATH下面要有jstl jar包
-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>

 

以上是关于SpringMVC的主要内容,如果未能解决你的问题,请参考以下文章

springmvc 分页查询的简单实现

Spring Rest 文档。片段生成时 UTF-8 中间字节无效 [重复]

Spring MVC 教程

spring 国际化 js怎么设置

AngularJS ——ngResourceRESTful APIs 使用

第二周作业