对springMVC的简单理解
spring框架以及MVC思想:
一:spring框架:
spring框架是一种很优秀的框架,它可以帮助开发人员简化组件与组件之间耦合,管理对象。
1:创建对象和管理对象之间的关系,可以在配置文件通过bean元素创建对象,管理对象之间的关系
则可以通过注入的方式。
2:spring可以和其他的第三方框架进行整合,比如Struts、hibernate等组成SSH框架。也可以和ibatis
或者mybatis组成框架。
二:名称解释
IOC:inversion of control 控制翻转,创建对象权利的转移,将通过new对象转换为第三方容器配置。
DI:denpence injection 依赖注入,通过注解的方式将需要依赖的对象注入到另一个类中,这样降低
了对象与对象之间的耦合,方便以后的扩展和维护。
三:常用注解
@Controller 将该类标注为控制层,控制层是视图层和业务层的桥梁,负责接收前台的请求,并且将
后台处理数据传送给前台。
@Service 将该类标注为业务层,开发人员可以在这一层编写业务逻辑,而不需要更多的关注如何
与数据库进行交互。
@Component 将该类定义类DAO层,负责与数据库进行数据交互。
@RequestMapping 匹配前台请求路径,可以标注在类之上,也可以标注在方法上面,然后类与方法进行
路径拼接。
@Resource 对象的注入,可以将容器创建的对象直接注入到需要的类中。@Autowired是按照类型注入,
而@Resource的装配顺序是如果指定名称或者没有指定时,按照名称装配;如果指定类型时,按照类型
装配。
@ResponseBody 这个注解很好用,是将后台需要返回的Map、list、字符串或者对象自动封装成json格式,
但是后台需要引入对应的jar包,jackson-all.jar、jackson-mapping.jar等。
@Transactional 这个注解标注方法为事务,保持操作的原子性,如果成功就提交;如果抛出异常,就
回滚。但是在容器的配置文件中需要配置事务。
四:MVC思想
MVC是一种设计思想,M代表model,模型。V代表view,视图,C代表controller控制层。M主要是业务层
以及数据实体类。V负责与用户交互,前台jsp等。C负责调度分配作用。从浏览器发出请求到收到响应
显现在页面的顺序。
a:用户在浏览器输入请求地址:http://主机:端口/应用名/index.do,请求协议是http超文本传输协议。
b:webContent下web.xml中配置访问地址,如果默认welcome-list元素,那么访问默认 页面index.jsp
如果配置servelt和server-mapping元素,那么会自动分发。
c:请求路径通过SimpleHandleMapping类自动匹配到后台的RequestMapping中的路径。如果配置MVC,那么
需要配置mvc驱动。
d:在控制层调用业务层,处理完数据后,返回页面和处理完的数据。
e:页面重定向到页面和配置文件ViewRevoler的拼接,可以使用tiles框架(如果jsp页面过多的情况)
同时将数据也带过去,然后将响应返回浏览器。
f:浏览器显示给用户。
对springMVC的简单理解的更多相关文章
- springmvc springJDBC 简单实训银行账户管理系统
springmvc springJDBC 简单实训银行账户管理系统 1.简单介绍一下,在校时每周结束都会有一次学习总结,简称“实训”,这次实训内容是spring,因为是最近热门框架,我就先从基础方面开 ...
- Java 层级的简单理解
在J2EE项目中,开发的都是分层来做的: 1.service层:用于暴露给网络调用 2.Impl层:统一规范接口 3.bean层:实体对象,也就是表 4.DAO(Data Access Object) ...
- springMVC的简单了解和环境搭建
一,什么mvc 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计思想.它主要通过 分离模型.视图及控制器在应用程序中的角色 将业务逻辑从界面中解耦.通常, 模型负责封装应用程 ...
- git的简单理解及基础操作命令
前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制管理>这本书(偏理论,内容完善,很不错),针对所学 ...
- 简单理解Struts2中拦截器与过滤器的区别及执行顺序
简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标 ...
- [转]简单理解Socket
简单理解Socket 转自 http://www.cnblogs.com/dolphinX/p/3460545.html 题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公 ...
- Js 职责链模式 简单理解
js 职责链模式 的简单理解.大叔的代码太高深了,不好理解. function Handler(s) { this.successor = s || null; this.handle = funct ...
- Deep learning:四十六(DropConnect简单理解)
和maxout(maxout简单理解)一样,DropConnect也是在ICML2013上发表的,同样也是为了提高Deep Network的泛化能力的,两者都号称是对Dropout(Dropout简单 ...
- Deep learning:四十二(Denoise Autoencoder简单理解)
前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Be ...
随机推荐
- [原创]使用命令行工具提升cocos2d-x开发效率(二)之CocosBuilder篇
如果你正在使用CocosBuilder或者是其他基于CocosBuilder源码改装而成的工具为你的游戏搭建场景或者UI,那你一定要看看这篇文章:) 你是否已经厌倦了无聊的手工publish操作? ...
- 【译】 AWK教程指南 4通过文本内容和对比选择指定的记录
Pattern { Action }为awk中最主要的语法.若某Pattern的值为真则执行它后面的 Action. awk中常使用"关系表达式" (Relational Expr ...
- html2canvas 网页截图 下载 上传
利用html2canvas插件 对网页截图 并下载和上传图片. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E ...
- 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次. 分析:首先最先想到的是遍历从1到n的每 ...
- 【暑假】[深入动态规划]UVAlive 4794 Sharing Chocolate
UVAlive 4794 Sharing Chocolate 题目: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=12055 ...
- 【po3693】Maximum repetition substring
题意: 给定一个字符串 求重复次数最多的连续重复子串 并输出字典序最小方案 题解: 枚举子串长度L 显然如果重复次数>1 那么答案串肯定包含s[1],s[1+L],s[1+L*2],...中的两 ...
- BNUOJ-26480 Horror List 最短路
题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26480 题意:简单来说,就是给一个图,然后从每个honor list中的点求最短路.. 边 ...
- SRM 596 DIV 2
前段时间终于配置好了TopCoder的环境,所以就拿这场的DIV2练习了一下 1. 250pt FoxAndSightseeing 题意 给你n个城市的位置,他们在同一直线上,要求你跳过其中某一个城市 ...
- Ubuntu 固态硬盘 4K对齐及启用 Trim,及其验证方法
因为之前一个移动硬盘因为坏道蔓延导致没办法继续使用,我略冲动地跑去买了一块 120GB 的三星840 固态硬盘回来.为了使用起来更方便,还去弄了个光驱位硬盘托架,把固态硬盘接在了光驱位与原本的笔记本硬 ...
- JQuery上传插件Uploadify API详解
一.相关key值介绍uploader:uploadify.swf文件的相对路径,该swf文件是一个带有文字BROWSE的按钮,点击后淡出打开文件对话框,默认值:uploadify.swf. scrip ...