zoukankan      html  css  js  c++  java
  • SpringMVC的简单介绍及使用

    一、简介

      1、SpringMVC和Spring的关系:

          >软件开发的三层架构: web层【表示层、表现层】---->Service层---->Dao[DataBase Access Object]---->数据库!

          >SpringMVC实际上是Spring的一个子模块,我们用SpringMVC来代替这个JavaWEB部分!

          >MVC:也是一种设计模式:M:Model【模型】-->V[View]--->C[Controller]!

            Model用来封装数据的,

            View:用来显示数据, Controller:用于接收前端页面发送的请求,然后调用Service层处理,拿到处理结果,将该结果返回给前端页面!

          >SpringMVC:相当于MVC架构中的C以及V!

          >JavaEE-->J2EE

      2、SpringMVC有什么优势?

          >Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一。

          >Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。

          >Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。

          >支持 REST 风格的 URL 请求。GET POST PUT DELTE

          >采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性.

          >目前主流的开发软件,说白了,大家都在用!

      3、SpingMVC是基于SpingMVC4.x

    二、SpringMVC的HelloWorld快速入门

      1、加入JAR包:

    –commons-logging-1.1.3.jar
    –spring-aop-4.0.0.RELEASE.jar
    –spring-beans-4.0.0.RELEASE.jar
    –spring-context-4.0.0.RELEASE.jar
    –spring-core-4.0.0.RELEASE.jar
    –spring-expression-4.0.0.RELEASE.jar
    –spring-web-4.0.0.RELEASE.jar
    –spring-webmvc-4.0.0.RELEASE.jar

      2、配置前端控制器【DispatcherServlet】

     1   <!-- The front controller of this Spring Web application, responsible for handling all application requests -->
     2   <!--向服务器注册前端控制器! -->
     3   <servlet>
     4     <servlet-name>springDispatcherServlet</servlet-name>
     5     <!--DispatcherServlet指的是SpringMVC的前端控制器!,给服务器使用,创建servlet对象! -->
     6     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     7     <!-- 初始化参数contextConfigLocation用于指定SpringMVC配置文件的路径以及名称 -->
     8     <init-param>
     9       <param-name>contextConfigLocation</param-name>
    10       <param-value>classpath:springmvc.xml</param-value>
    11     </init-param>
    12     <!-- 数字0或者大于0的数字表示的是:在服务器启动的时候创建Servlet对象,而不是第一次访问的时候创建
    13     小于0的数字指的是:在第一次访问的时候创建Servlet对象.
    14     在数字大于O的情况下,数字越小,优先级越高!
    15     -->
    16     <load-on-startup>1</load-on-startup>
    17   </servlet>
    18 
    19   <!-- Map all requests to the DispatcherServlet for handling -->
    20   <!-- 用 servlet-mapping指定请求映射的路径-->
    21   <servlet-mapping>
    22     <servlet-name>springDispatcherServlet</servlet-name>
    23     <!-- 用url-pattern指定拦截 的请求路径! -->
    24     <url-pattern>/</url-pattern>
    25   </servlet-mapping>

      3、创建SpringMVC的配置文件并添加要扫描的包

          注意:1.创建SpringMVC配置文件的名字要和上面在web.xml文件中指定的名字一致!

             2.我们创建SpringMVC配置文件的时候使用的是Spring Bean Configuration File创建的,不是XML!

    1   <!-- 配置SpingMVC容器要扫描的包! -->
    2   <context:component-scan base-package="com.neuedu.controller"></context:component-scan>

      4、在springMVC扫描的包下创建控制器类[Controller/Handler],注意要加入@Controller注解

    1   /**
    2   * 我们通过@RequestMapping做请求URL的映射!
    3   * @return
    4   */
    5   @RequestMapping("/sayHello")
    6   public String sayHello(){
    7     return "/WEB-INF/views/success.jsp";
    8   }

      注意:在类的方法上我们使用的是@RequestMapping,然后在括号里指定请求url的请求路径!

      5、创建页面!

        注意:1.当我们不用init-param指定springMVC配置文件的路径好位置的时候,SpringMVC默认会去/WEB-INF/<servlet-name>-servlet.xml

            一般手动配置为类路径下(src路径下):classpath:springmvc.xml,

    1   <init-param>
    2       <param-name>contextConfigLocation</param-name>
    3       <param-value>classpath:springmvc.xml</param-value>
    4     </init-param>

          2.配置视图解析器

    1   <!--InternalResourceViewResolvers 是视图解析器 ,它会将逻辑视图转换成实际的物理视图,做一个转发操作!
    2   也就是说具体步骤:prefix + 方法的返回值 + suffix-->
    3   <!-- /WEB-INF/views/success.jsp -->
    4   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    5     <property name="prefix" value="/WEB-INF/views/"></property>
    6     <property name="suffix" value=".jsp"></property>
    7   </bean>

          3.请求一个SpringMVC的流程!

  • 相关阅读:
    Mac 终端自动补全忽略大小写
    AtCoder ABC 155F Perils in Parallel
    AtCoder ABC 155E Payment
    AtCoder ABC 155D Pairs
    AtCoder ABC 154F Many Many Paths
    牛客 边界都是1的最大正方形大小
    牛客 打印N个数组整体最大的Top K
    牛客 数组中子数组的最大累乘积
    牛客 在数组中找到一个局部最小的位置
    牛客 子矩阵最大累加和问题
  • 原文地址:https://www.cnblogs.com/java-zmj/p/8027746.html
Copyright © 2011-2022 走看看