SpringMVC初写(一)SpringMVC的配置方式
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的配置方式的更多相关文章
- SpringMVC中HandlerMapping的三种配置方式
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE beans PUBLIC "-/ ...
- <welcome-file-list>标签的控制作用以及在springmvc中此标签的的配置方式
我们在写安全性较高的网站时必然会对网站的入口进行限制, 而在这其中其关键作用的就是网站的根目录下WEB-INF中的web.xml中<welcome-file-list> <welc ...
- SpringMVC初写(三)Controller的生命周期
Spring框架默认创建的对象的方式是单例,所以业务控制器Controller也是一个单例对象 由此可证明,无论是同一次请求还是同一次会话和不同请求它的对象都是相同的 然而由于对象是单例的,随之而来的 ...
- SpringMVC初写(四)上传和下载功能的实现
一.文件上传 流程: 导入包commons-fileuplad组件和依赖包commons-io组件 配置springmvc支持上传的组件: 启动SpringMVC注解支持 配置上传解释器 构建一个上传 ...
- SpringMVC初写(二)映射类型、限制和数据绑定
映射路径 a)映射路径的概述 所谓的映射路径,就是匹配请求路径和执行方法关系的路径 请求路径:http://localhost:8080/springmvc-demo-cofig/say.do 映射路 ...
- SpringMVC初写(六)静态资源设置
众所周知,SpringMVC的DispatchServlet是不可以以/*规则拦截请求的,否则会将JSP都拦截了,但有时候我们的请求路径是不能有后缀(Resful风格的接口需要),基于上述情况,我们可 ...
- SpringMVC初写(五)拦截器
在系统开发过程中,拦截器的使用可以使我们实现一些需求.如:登录认证,权限管理等,拦截器的工作核心就是将一些工作流程进行统一处理 拦截器和过滤器的区别: 过滤器过滤的是请求路径,拦截器拦截的各层方法的映 ...
- springmvc freemarker 全局变量的三种配置方式
方法一 直接在spring-servlet.xml 中进行配置 <bean id="freemarkerConfiguration" class="org.spri ...
- 简述Spring事务有几种管理方法,写出一种配置方式
Spring事务有两种方式: 1.编程式事务:(代码中嵌入) 2.声明式事务:(注解,XML) 注解方式配置事务的方式如下: 首先,需要在applicationContext.xml中添加启动配置,代 ...
随机推荐
- [C#] Delegate, Multicase delegate, Event
声明:这篇博客翻译自:https://www.codeproject.com/Articles/1061085/Delegates-Multicast-delegates-and-Events-in- ...
- centos7 dubbokeeper安装
下载dubbokeeper源码 git clone https://github.com/dubboclub/dubbokeeper mysql 先执行install-mysql.sh 编译好 ...
- WCF技术剖析(卷1)WCF全面解析文摘
第1章 wcf简介 soa体现的是一种对关注点进行分解的思想,与技术无关 soa的基本思想: a.服务自治 独立部署,不依赖其他 b.依赖于开放的标准 采用xml,xsd,及wsdl作为服务描述的 ...
- gcc支持的一种结构体赋值方式
struct info{ int a; char b; struct fd{ int c; int d; }fg;}; 其实我们也可以这样赋值:同样对于其他的类型也是一样 ...
- redis 工具
搜索关键词:redis 工具 推荐:http://redisdesktop.com/download 点评:使用顺手,顺畅. ★★★★★ 五星好评 备注:redis key 可以采用某种format ...
- PHP(三)运算符、流程控制和函数初步
- Oracle EBS FND User Info API
1. 与用户信息相关API PKG. --和用户处理有关的API FND_USER_PKG; --和用户密码处理有关的API FND_WEB_SEC; --和用户职责处理有关的API ...
- linux gitlab-ctl reconfigure报错问题修复 502
Running handlers: There was an error running gitlab-ctl reconfigure: bash[migrate gitlab-rails datab ...
- 2:C#TPL探秘
理论: 1. 只要方法是 Task类型的返回值,都可以用 await 来等待调用获取返回值. 2. 如果一个返回 Task类型的方法被标记了 async,那么只要方法内部直接 return T 这个 ...
- HBase – 存储文件HFile结构解析
本文由 网易云发布. 作者:范欣欣 本篇文章仅限内部分享,如需转载,请联系网易获取授权. HFile是HBase存储数据的文件组织形式,参考BigTable的SSTable和Hadoop的TFile ...