一、简介

  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】

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

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

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

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

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

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

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

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

  5、创建页面!

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

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

   <init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>

      2.配置视图解析器

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

      3.请求一个SpringMVC的流程!

SpringMVC的简单介绍及使用的更多相关文章

  1. SpringMvc的简单介绍

    1.mcv框架要做哪些事情 (a)将url映射到java类或者Java类的方法 (b)封装用户提交的数据 (c)处理请求---调用相关的业务处理,封装响应的数据 (d)将封装的数据进行渲染,jsp,h ...

  2. springmvc的简单介绍以及springmvc组件的介绍

    Spring web mvc框架 什么是springmvc Springmvc是spring框架的一个模块,spring和springmvc无需中间整合层整合 Springmvc是一个基于mvc的we ...

  3. springMVC原理简单介绍

    说明: 用户发送请求到DispatcherServlet,即前端控制器 DipatcherServlet调用处理器映射器HandlerMapping解析 处理器映射器HandlerMapping根据请 ...

  4. SpringMVC总结二:Controller的请求映射方式(RequestMapping)简单介绍

    在SpringMVC总结一:快速入门的基础上简单介绍一下请求映射的方式: 1,标准映射规则 1. @RequestMapping可以设置在类上,也可以设置在方法上 2. 请求的映射规则是:类上的Req ...

  5. Freemarker概念简单介绍

    Freemarker概念简单介绍 1.   Freemarker是什么 模板引擎:一种基于模板的,用来生成输出文本的通过工具. 基于java开发包和类库 2.   Freemarker能做什么 MVC ...

  6. JMS学习篇《一》ActiveMQ消息中间件的简单介绍与用法-概念篇

    原创说明:本篇博文为本人原创作品,转载请注明出处 1.何为消息中间件 消息中间件是一种在分布式应用中互相交换信息的一种技术,常见的成熟消息中间件有:RabbitMQ.SonicMQ,activeMQ. ...

  7. 简单介绍Struts2

    Struts2概述 Struts2虽然是Struts1的基础上发展起来的,但是实质上是以WebWork框架为核心,为传统的Struts1注入了WebWork的设计理念,统一了Struts1和WebWo ...

  8. SpringMVC之简单的增删改查示例(SSM整合)

    本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...

  9. 转载 mvc:message-converters简单介绍 https://www.cnblogs.com/liaojie970/p/7736098.html

    mvc:message-converters简单介绍 说说@ResponseBody注解,很明显这个注解就是将方法的返回值作为reponse的body部分.我们进一步分析下这个过程涉及到的内容,首先就 ...

随机推荐

  1. python selenium环境配置Firefox和Chrome

    1.下载Selenium库,可以使用pip install selenium https://pypi.python.org/pypi/selenium/ 2.下载驱动 Chrome: https:/ ...

  2. svn add文件名包含@符号的解决方案

    [svn add文件名包含@符号的解决方案] 在iOS开发过程中,代码得用SVN管理起来,但是遇到这么个问题:Default@2x.png文件svn add不成功,总提示找不到这个文件. 结果查了查资 ...

  3. POJ 3169 C - Layout

    题意 有n头奶牛从1到n编号,按照编号顺序站成一排,有可能有多头奶牛站在同一个坐标上.一些奶牛互相喜欢,所以他们的距离不能大于某个距离,一些奶牛互相讨厌,所以他们的距离不能小于某个距离,请计算如果可能 ...

  4. libevent源码深度剖析六

    libevent源码深度剖析六 ——初见事件处理框架 张亮 前面已经对libevent的事件处理框架和event结构体做了描述,现在是时候剖析libevent对事件的详细处理流程了,本节将分析 lib ...

  5. css二阴影+第三维度z-index

    <span style="text-shadow: 3px 3px 1px #888;">shadowed</span><span style=&qu ...

  6. 反射01 Class类的使用、动态加载类、类类型说明、获取类的信息

    0 Java反射机制 反射(Reflection)是 Java 的高级特性之一,是框架实现的基础. 0.1 定义 Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对 ...

  7. Free GIS Software

    Refer to There are lots of free gis software listed in the website: http://www.freegis.org/ http://w ...

  8. Luogu 4198 楼房重建

    BZOJ 2957 挺妙的题. 先把题目中的要求转化为斜率,一个点$(x, y)$可以看成$\frac{y}{x}$,这样子我们要求的就变成了一个区间内一定包含第一个值的最长上升序列. 然后把这个序列 ...

  9. 复习扩展方法 涉及委托,这里我使用自定义委托类型 public delegate bb MyFunc<in T,out bb> (T arg)

    using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text; ...

  10. 利用 Aspose.Words 组件,在不依赖与 Office 组件的情况下把 Word 文件转换成 HTML 代码。

    首先利用 Nuget 获取 Aspose.Words.dll public ActionResult AsposeWordsDemo() { string srcFileName = Server.M ...