首先说道SpringMvc是什么,SpringMVC是Spring框架里面的一个子框架,它对网站前后端的代码分层做了一套实现,这套实现给我们带来了几个好处,首先第一,SpringMVC实现了一个请求对应一个方法。这个请求对方法的映射让我们在编程的时候不需要像在写Servlet编程的时候那样重写doGet和doPost方法然后对各种各样的请求进行手工分发,从而大大提高了程序的可维护性,而且在编程的时候程序员可以见文知意。第二,支持了对数据的自动封装,SpringMvc在向服务器发送表单参数的时候(包括Get请求)它会自动给我们封装成SpringMVC内置对象模型(request,response,session,Map,ModelMap),以及String+8大基本数据类型的数据,数组,以及JavaBean对象。对于List的数据还能用过手工封装成JavaBean让SpringMVC帮我们自动把数据封装到方法的参数里面。这样我们在取数据的时候就可以直接调用方法中的参数就能拿到请求传过来的参数了。

 说了这么多,那···SpringMVC应该如何去配置呢?首先使用框架必须要导入包。这里需要Spring的基础包beans,context,core,expression四个基础包,还有依赖的外部日志包logging。除此之外我们基于注解和配置文件配置需要加入aop包。这些就是基础Spring的配置。现在我们需要使用SpringMVC的功能,所以另外再加入web和webmvc这两个包。这样导包就完成了。

  接着就创建一个动态网站项目。在webXML中配置一个请求处理中心。在mvc包org.springframework.web.servlet.DispatcherServlet这个路径有个叫DispatcherServlet的类,就是它给我们做请求分发的。它的父类有个contextConfigLocation的参数。注释 Explicit context config location告诉我们需要把配置文件的路径配置在这里这样Spring才能识别配置文件的路径。一下就是配置信息

这里我设置了它要处理所有*.do的请求。这里的配置文件我直接放在了src或者同级的其他source文件夹下由于source文件夹在编译后不是实际产生的目录这个特性,所以这里其实就是把配置文件放在了项目的根目录但是Spring框架要求我们配置文件在根目录的时候

必须在路径上加上classpath:。当这里是纯注解配置的时候我们需要把它改成另外一个参数来改变DispatcherServlet的配置。

然后我们随便写两个页面,一个用来跳转页面,一个用来显示跳转后的页面

再接着去写Controller的代码

@Controller
public class UserController { @RequestMapping("/say.do")
public String say() {
System.out.println("Hello World!");
return "hello.jsp";
}
}

Controller加上RequestMapping注解,这个注解是用于请求映射到指定路径的方法上这里我指定了/say.do,所以以后发送到这个Controller的请求是标准项目路径后面加上/say.do的就一定会通过这个Controller去处理。

因为Spring默认的试图解释器支持String类型的返回数据所以我们这个say的方法只需要返回一个字符串就能做页面跳转了。

这样SpringMVC最基础的配置就已经全部完成了。最后回顾一下整个流程:

用任何框架之前都需要先导包

1.首先我们需要创建一个动态网站项目创建后新建一个网站项目的入口web.xml;

2.接着需要配置一个请求控制中心,它用来拦截浏览器发过来的请求通过设置规则servlet-mapping设置*.do拦截所有包含.do的请求

3.src下面新建Spring的配置文件配置文件勾上context命名空间。之后再配置文件里面配置组件扫描路径<context:component-scan basepackges=" 扫描的包名 "></context :component-scan>

4.创建Controller类加上@Controller注解 声明一个方法加上@RequestMapping(" 映射路径") 这样映射路径对应的请求就能够通过映射访问到Controller的这个方法了

5.编写操作和逻辑代码,页面跳转返回字符串。默认Spring内置了一个视图解释器,这个视图解释器默认兼容.jsp的页面。会接收我们方法返回的字符串将它解析成对应的url返回给浏览器。

这样最简单的SpringMVC模型就搭好了。

关于SpringMVC的配置流程以及一些细节的更多相关文章

  1. SpringMVC初写(一)SpringMVC的配置方式

    1.Spring概述a)SpringMVC是什么?SpringMVC是Spring框架内置的MVC实现.SpringMVC就是一个Spring内置的MVC子框架MVC:Model-View-Contr ...

  2. 《SpringMVC从入门到放肆》二、SpringMVC的执行流程及默认配置

    上一篇博文我们做了一个hello world的程序,并且已经成功的跑起来了.这一篇我们来深入的了解一下SpringMVC的执行流程以及一些其它的配置. 一.执行流程 来解释一下上图中的各个名词1.Di ...

  3. SpringMVC处理请求流程

    SpringMVC核心处理流程: 1.DispatcherServlet前端控制器接收发过来的请求,交给HandlerMapping处理器映射器 2.HandlerMapping处理器映射器,根据请求 ...

  4. SpringMvc的数据绑定流程

    在SpringMvc中会将来自web页面的请求和响应数据与controller中对应的处理方法的入参进行绑定,即数据绑定.流程如下: -1.SpringMvc主框架将ServletRequest对象及 ...

  5. SpringMVC之处理流程

    之前在学servlet时写过JavaWeb与Asp.net工作原理比较分析,那篇主要是大致描述了下servlet的工作流程,今天在家了解了下springmvc的工作原理,与asp.net中的mvc进行 ...

  6. Idea简单SpringMVC框架配置

    前边已经介绍过了Struts在Idea上的配置,相对于Struts来说,我觉得SpringMVC有更多的优势,首先Struts是需要对action进行配置,页面发送不同的请求,就需要配置不同的acti ...

  7. SpringMVC基础配置(通过注解配置,非xml配置)

    SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...

  8. SpringMVC基础配置及使用

    SpringMVC基础配置及使用 SpringMVC:1.SpringMVC和Spring的关系:    软件开发的三层架构: web层[表示层.表现层]---->Service层----> ...

  9. PHP开发环境&amp;MySQL下载安装及配置流程

    PHP开发环境&MySQL下载安装及配置流程 因工作须要,从0開始学PHP,前几天看完视频教程后開始搞开发环境,到今天才好.这里把安装配置流程梳理一下分享出来. 一.概述 要搭建一个开发环境无 ...

随机推荐

  1. maven install报错 Failed to execute goal on project my-manager-mapper: Could not resolve dependencies for project com.my:my-manager-mapper:jar:0.0.1-SNAPSHOT:

    报错信息为: [ERROR] Failed to execute goal on project my-manager-mapper: Could not resolve dependencies f ...

  2. 解决:SSM框架中普通类调用Service的问题 (转)

    http://blog.csdn.net/gwd1154978352/article/details/73480959

  3. python 数据分析基础

    安装Python基础的几个数据分析库: pip install pandas pip install numpy pip install scipy pip install scikit-surpri ...

  4. css选择器以及使用场景

    1.选择器以及使用场景 id选择器:#header{} 类选择器:.header{} 元素选择器:div{} 子选择器:ul > li{} 后代选择器:div p{} 伪类选择器:a:hover ...

  5. ASP.NET MVC 目录介绍

  6. vue 移动端轻量日期组件不依赖第三方库

    Vue版移动端日期选择组件 1.优点:不需要依赖其他第三方库,灵活可配置: 不需要依赖第三方组件的vue日期移动端组件  小轮子 轻量可复用:  https://github.com/BeckReed ...

  7. hadoop hdfs 数据迁移到其他集群

    # hadoop fs -cat /srclist Warning: $HADOOP_HOME is deprecated. hdfs://sht-sgmhadoopcm-01:9011/jdk-6u ...

  8. C++标准模板库(STL)之Set

    1.Set的用法 Set:集合,一个内部自动有序而且不重复元素的容器.使用set,要加头文件#include<set>和using namespace std; 1.1.Set的定义 se ...

  9. jquery 之ajax cache

    最近在做一个企业通讯录的功能,功能很简单,我的本意是做数据存储并且做同步更新,时间原因以及服务端的同事更倾向于简单点的方式,呵呵,于是我们就采取了实时查询的方式. 由于get请求有点多,由于页面的生命 ...

  10. Linux之文件、目录

    Linux之文件.目录 文件权限 User.Group.Others 在Linux中,任何一个文件都具有这三种身份的个别权限,三者的区别是 User: 指每一个单独的用户,例如member1,memb ...