我所理解的MVC架构
来源:互联网 发布:淘宝手淘搜索提升 编辑:程序博客网 时间:2024/05/19 02:00
之前做了很长时间的Java开发,前后接触过SSI框架,spring mvc框架,最近又接触了php的mvc框架,发现web框架都是一个样子一个模式。
在web开发中,最重要的两件事情:
理解面向对象
理解mvc
mvc包括model(模型层)view(视图层)controller(控制层)
首先介绍一下视图层,这个层比较简单。
视图层就是jsp或者tpl页面,视图层除了要掌握html css javascript,还要掌握标签语言,比如jsp原生的EL表达式(在jsp中嵌入Java代码),比如struts2提供的标签语言,比如spring提供的jstl标签语言,都是为了能把后台数据嵌入到网页中。
接下来说一下控制层
控制层是控制页面跳转的,根据网址栏中的url决定跳转到哪个页面,
这个url可以是用户直接手动在网址栏输入的,比如刚进入系统,在网址栏中输入
localhost:8080/projectname/enterRegister.action
后台的controller就会返回一个注册的网页给前端用户。
有时在网址栏中输入localhost:8080/projectname/index.jsp
也会跳转到指定的网页,但这种其实是重定向到指定网页,并不是通过controller返回指定网页。
这种手动输入url的后缀一定是.action或controller指定的pattern后缀格式。
第二种能调用controller决定页面跳转的就是网页中的表单提交和超链接,表单提交的url和超链接提交的url如果是以action结尾的(或其他controller指定的pattern格式),这种提交到后台后,就能通过控制器决定跳转到哪个网页。如果提交的url是以.html或者.jsp结尾的,那就是直接重定向到某个网页,而不需要经过控制器。
最后说一下模型层
模型层主要完成业务逻辑,包括从数据库中存取数据,模型层一般被controller层调用,controller会从前台接收参数,然后把这些参数作为输入传给service层(model层),service拿着这些参数从数据库中做增删改查,然后把数据库返回的结果给controller层,controller把返回的结果加载进将要跳转的目标jsp页面,并把渲染好的jsp网页展现给前端,这里不仅介绍了service层的功能,在mvc中所处的位置,输入输出参数,还简单介绍了mvc的工作原理。
之前我一直认为模型层指的是javabean,最近弄了一段时间php,发现人家也没有面向对象,但是人家也是mvc架构,遂发现model层指的是service层。
在下一篇文章中会谈一下web后台管理系统都包括哪些常见的功能模块。
- 我所理解的MVC架构
- 我所理解的MVC
- 我所理解的网站架构
- 专访阿里陈康贤:我所理解的网站架构
- 专访阿里陈康贤:我所理解的网站架构
- 我所理解的Cocos2d-x 应用程序架构
- MVC架构的理解
- MVC架构的理解
- 我理解的MVC设计模式和三层架构
- 我理解的软件 架构模式,MVC和分层
- 我理解的MVC
- 我所理解的PKI
- 我所理解的抽象
- 我所理解的OpenSocial
- 我所理解的IOCP
- 我所理解的Rails
- 我所理解的爱情
- 我所理解的团队精神
- 虚拟存储器
- Lab 3
- 【HTML】碎片知识点-02
- 专业人士对指针的精解
- 数列的逆序数对(难度系数:2颗星)
- 我所理解的MVC架构
- Python学习之While循环
- 创建临时表空间组+查询临时表空间组+临时表空间移动到别的临时表空间组中
- C输入流scanf()
- CSS编码意见
- 有关static和作用域的一个小问题,看代码
- studio中导入第三方so库或者Jar包的两种方法
- 网页都涉及哪些常见的增删改查
- 哈夫曼树的操作-05-树9 Huffman Codes