首先说道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. 448. Find All Numbers Disappeared in an Array&&645. Set Mismatch

    题目: 448. Find All Numbers Disappeared in an Array Given an array of integers where 1 ≤ a[i] ≤ n (n = ...

  2. vue中的keep-alive

    本文转载于:https://blog.csdn.net/xum222222/article/details/80322532 转载仅供个人日后学习 https://www.cnblogs.com/ji ...

  3. python web 2

    思路整理 过程:请求豆瓣电影 top 250 url='https://movie.douban.com/' 结果:得到网页的html 源码 (保存为hml文件 就可以用浏览器打开) 提示: Loca ...

  4. mock js使用方法简单记录

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. react中的传参方式

    react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a na ...

  6. idea新建maven工程没有artifacts

    原理,是因为没把新创建好的maven项目给设置成一个可被tomcat部署的web项目 选择个项目路径 配置artifacts,引入到tomcat就可以

  7. What to do when you have small dataset - 拥有小型数据集时该怎么办

    I'm trying to train a classifier with neural network, but I've got too small datasets. Each class ha ...

  8. 记录这段时间java编程的小知识点

    记录这段时间java编程的小知识点 eclipse项目导入中文乱码 eclipse左侧目录结构变动 eclipse代码段左右移动 按tal键,是整体右移. 按shift  table 同时按,是整体左 ...

  9. Linux内核数据结构之kfifo详解

    本文分析的原代码版本: 2.6.24.4 kfifo的定义文件: kernel/kfifo.c kfifo的头文件: include/linux/kfifo.h kfifo是内核里面的一个First ...

  10. L1-064 估值一亿的AI核心代码

    以上图片来自新浪微博. 本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是: 无论用户说什么,首先把对方说的话在一行中原样打印出来: 消除原文中多余空格:把相邻单词间的多个空格换成 1 个 ...