1.Spring概述
a)SpringMVC是什么?
SpringMVC是Spring框架内置的MVC实现。SpringMVC就是一个Spring内置的MVC子框架
MVC:Model-View-Control(模型-视图-控制器),这是一种解决页面代码和后台代码分离的设计思想

b)为什么要使用SpringMVC?
springMVC不仅是MVC模式的实现,还是一个框架;因此除了MVC模式的实现外还提供了大量的辅助页面请求处理的功能组件
例如:
1.支持直接一个方法对一请求
2.支持数据的自动封装
3.自动支持上传组件
4.自动支持JSON的转成
.....

c)SpringMVC的配置流程

1.通过xml配置
如图:

发起一个url请求

web.xml(配置一个核心控制器)

配置业务控制器

配置请求路径和方法之间的关系

视图页面

测试结果

结构图

2.通过注解配置
通过xml配置的不足之处:
1.业务控制器需要继承一个类或实现一个接口(这种设计称 为入侵性的设计),优秀的设计不需要继承任何东西的!
2.业务控制器方法的参数是固定,不方便
3.返回的路径用一个字符串就可以完成,却要用一个 ModelAndViwe来写
如图:

注解基于xml修改之处在于业务控制器以及配置请求路径与方法之间的关系
业务控制器

Spring配置文件

3.通过纯注解配置
纯注解的方式是舍弃xml用注解配置类代替
注解配置类

web.xml配置

将配置文件的路径改为注解配置类所在的包,并修改容器类型为支持注解配置类的容器

SpringMVC初写(一)SpringMVC的配置方式的更多相关文章

  1. SpringMVC中HandlerMapping的三种配置方式

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE beans PUBLIC "-/ ...

  2. <welcome-file-list>标签的控制作用以及在springmvc中此标签的的配置方式

    我们在写安全性较高的网站时必然会对网站的入口进行限制, 而在这其中其关键作用的就是网站的根目录下WEB-INF中的web.xml中<welcome-file-list>  <welc ...

  3. SpringMVC初写(三)Controller的生命周期

    Spring框架默认创建的对象的方式是单例,所以业务控制器Controller也是一个单例对象 由此可证明,无论是同一次请求还是同一次会话和不同请求它的对象都是相同的 然而由于对象是单例的,随之而来的 ...

  4. SpringMVC初写(四)上传和下载功能的实现

    一.文件上传 流程: 导入包commons-fileuplad组件和依赖包commons-io组件 配置springmvc支持上传的组件: 启动SpringMVC注解支持 配置上传解释器 构建一个上传 ...

  5. SpringMVC初写(二)映射类型、限制和数据绑定

    映射路径 a)映射路径的概述 所谓的映射路径,就是匹配请求路径和执行方法关系的路径 请求路径:http://localhost:8080/springmvc-demo-cofig/say.do 映射路 ...

  6. SpringMVC初写(六)静态资源设置

    众所周知,SpringMVC的DispatchServlet是不可以以/*规则拦截请求的,否则会将JSP都拦截了,但有时候我们的请求路径是不能有后缀(Resful风格的接口需要),基于上述情况,我们可 ...

  7. SpringMVC初写(五)拦截器

    在系统开发过程中,拦截器的使用可以使我们实现一些需求.如:登录认证,权限管理等,拦截器的工作核心就是将一些工作流程进行统一处理 拦截器和过滤器的区别: 过滤器过滤的是请求路径,拦截器拦截的各层方法的映 ...

  8. springmvc freemarker 全局变量的三种配置方式

    方法一 直接在spring-servlet.xml 中进行配置 <bean id="freemarkerConfiguration" class="org.spri ...

  9. 简述Spring事务有几种管理方法,写出一种配置方式

    Spring事务有两种方式: 1.编程式事务:(代码中嵌入) 2.声明式事务:(注解,XML) 注解方式配置事务的方式如下: 首先,需要在applicationContext.xml中添加启动配置,代 ...

随机推荐

  1. java中double和float精度丢失问题

    为什么会出现这个问题呢,就这是java和其它计算机语言都会出现的问题,下面我们分析一下为什么会出现这个问题:float和double类型主要是为了科学计算和工程计算而设计的.他们执行二进制浮点运算,这 ...

  2. Linux umask权限

    文件基本权限 Linux中文件权限由三部分组成: rw-r--r-- 前三位:表示用户所拥有的权限 中三位:表示用户所在组的权限 后三们:表示其他用户的权限 权限 八进制 十进制 - - - 000 ...

  3. DE0-Nano-SoC开发板诡异的电源电路方案设计分析

    这些日子一直在设计自己的Cyclone V SoC开发板,由于我们这种散兵游勇,是断然没有厂家和代理技术支持的,因此只能找各种现成方案参考.其实Cyclone V SoC芯片的外围电路设计不难,无非就 ...

  4. 3、Docker能干什么?

    简化配置   这是Docker公司宣传的Docker的主要使用场景.虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件.系统),Docker在降低额外开销的情况下提供了同样的功能.它能 ...

  5. delphi 拆分字符串

    最近在使用Delphi开发一种应用系统的集成开发环境.其中需要实现一个字符串拆分功能,方法基本原型应该是:procedure SplitString(src: string ; ch: Char; v ...

  6. 后台web请求代码(含https,json提交)

    后台web请求 namespace XXXX.Utilites { using System; using System.Collections.Generic; using System.IO; u ...

  7. 如何在powerdesign15.1中使用自增列

    点击要设置为自增列的列 右键选择properties(或者按下ALT+enter) 点选红框,再点击Microsoft选项卡, 输入开始值和自增值即可 来自为知笔记(Wiz)

  8. Nutch 问题杂记

    1. 如何绕过目标站点的robots.txt限制 多数站点都是只允许百度.google等搜索引擎抓取的,所以会在robots.txt里限制其他爬虫. nutch自然是会遵循robots协议的,但是我们 ...

  9. Session如何保存在sql数据库中

    aspnet中,session默认以inproc模式存储,也就是保存在iis进程中,这样有个优点就是效率高,但不利于为本负载均衡扩展.可以把session信息保存在SQL Server中,据说,该种方 ...

  10. WPF显示Gif动画

    WPF的Image控件不能很好的支持.gif文件.解决办法有如下2种. 1使用MediaElement <MediaElement Source="file://D:\anim.gif ...