Servlet程序开发--WEB开发模式(Mode I, Mode II)
Mode I: 就是在开发中,将显示层,控制层,数据层的操作统一交给JSP或JavaBean来进行处理。
客户端通过访问JSP,调用里面的JavaBean,而通过JavaBean调用数据库,在JavaBean中包含了专门处理数据的操作,数据层主要以DAO为主,除了数据之外还有业务的处理。
开发中就存在一个问题,现在的程序要JSP+JavaBean一起开发完成后才可以使用,就会出现推诿的问题。分工不明确。所以,这种开发只适合于较快速的开发,但是后期维护困难。而且代码在JSP中,scriptlet代码非常多。
Mode II:Model-View-Controller
所有开发都以servlet为主题展开的,由servlet接收所有的客户端请求,之后根据请求调用响应的JavaBean,并将所有的结果返回给JSP,这就是MVC设计模式。
servlet特点:可以接受用户的请求参数,还可以调用java程序,而且本身是以java程序运行的,所以比JSP性能高,安全性也高。
最终servlet所有操作的内容都要交给JSP显示,这样servlet不方便显示的缺点就避免了。
1. JavaBean完成具体的单个的功能
2. JSP完成显示功能
3. Servlet完成连接JSP和JavaBean
JSP->Servlet->JavaBean,这种设计特别适合大型项目的开发,而且维护方便。
MVC设计模式中,最关键的部分就是使用RequestDispatcher接口,因为显示内容都通过此接口保存到JSP页面上显示。
MVC有自己的处理流程,实际上最重要的就是输出和跳转的问题。
由于所有内容都要交过JSP进行显示,最方便的属性范围就是request属性范围,例如以一个雇员列表操作威力,可以发现,JSP只是显示数据而已,但是这些数据要是通过MVC设计模式完成的话,肯定这些数据只是在一个JSP钟显示一次即可,而且servlet应该负责将所有的一次显示的内容交过JSP完成,那么最合适的属性范围就是request了。
因为之前强调过,能用page就不用reequest,能用request就不用session,能用session就不使用application。
从实际开发来讲,session属性范围用于登录验证使用较多,而request属性范围主要的功能就是在MVC设计模式上,将servlet内容交过JSP显示,而且这种显示在另外一次提交之后属性就消失了。
Servlet程序开发--WEB开发模式(Mode I, Mode II)的更多相关文章
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- java web 开发三剑客 -------电子书
Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知In ...
- web开发学习路线
第一阶段: HTML+CSS: HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础: Js基础教程.js内置对象常用方法.常见DOM树操作大全.ECMA ...
- 如何学习web开发环境搭建和脚手架
Web前端的学习路线 第一阶段: HTML+CSS: HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础: Js基础教程.js内置对象常用方法.常见DO ...
- 看透Spring MVC:源代码分析与实践 (Web开发技术丛书)
第一篇 网站基础知识 第1章 网站架构及其演变过程2 1.1 软件的三大类型2 1.2 基础的结构并不简单3 1.3 架构演变的起点5 1.4 海量数据的解决方案5 1.4.1 缓存和页面静态化5 1 ...
- Java开发web的几种开发模式
Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket等等)并不了解,这里就不 ...
- Web开发模式【Mode I 和Mode II的介绍、应用案例】
开发模式的介绍 在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II) 首先我们来理清一些概念吧: DAO(Data Access Object):主要对数据的 ...
- Java Web开发模式
一 Java Web开发模式的变迁 1 最初的Java web服务器端编程技术是Servlet,利用Servlet就可以开发出一个Web应用程序. 2 为了解决Servlet缺陷,SUN推出了JSP技 ...
- Java Web 开发的JavaBean + Servlet + Sql Server
日期:2018.12.9 博客期:026 星期日 我知道对于每个人都需要对开发web进行了解,而我们常用的技术,也应该有所了解 /*<------------------->*/知识点: ...
随机推荐
- Android获取网络数据进行GZIP解压
说明:现在很多网站都会在回传数据的时候进行GZIP压缩,我们可以在请求头中申明支持GZIP压缩.可以减轻网络传输压力,Xutils中已经实现. 下面是一个DEMO,便于理解. private void ...
- USB LPT 端口映射
如何设置端口映射(以将LPT1端口映射到共享名为CutePDFW的虚拟打印机上为例),命令如下: NET USE LPT1: \\wcjxixi-d022704\CutePDFW /Persisten ...
- Dialog对话框管理工具类
import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; i ...
- 多个git账户生成多份rsa秘钥实现多个账户同时使用配置
下文分享一个多个git账户生成多份rsa秘钥实现多个账户同时使用配置例子了,这个例子非常的好用对于有多个git的朋友有不小的帮助. 使用过git的童鞋应该对id_rsa秘钥不陌生,总得用github吧 ...
- 其他应用和技巧-用Json格式来保存数据
-------------------- <script type="text/javascript"> //定义json变量 ...
- hdu_1495_非常可乐(bfs模拟)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1495 题意:不解释 题解:BFS模拟,不过要细心,把所有情况都列举出来,开一个数组记录状态,代码有点长 ...
- 利用DataImportHandler建索引时一直无法完成
问题研究 项目中需要利用DataImportHandler从hive中sync数据到solr.发现有时候hive sql已经执行完几个小时了,sync任务还没有完成,貌似哪里卡住了.重启solr后重新 ...
- mib.c
函数 sprint_realloc_by_type (E:\code\net-snmp-5.4.2.1\snmplib\mib.c)的主要作用是: 解析传入的mib中的节点,根据mib节点类型,将其 ...
- python2.6.6在centos6.4下安装
1.wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2 2. tar xvjf Python-2.6.6.tar.bz2 ...
- oc唯一标时一部设备
ios7之前可以使用mac地址 ios7之后首先创建两个类 #import MyKeyChainManager.h @implementation MyKeyChainManager : NSObje ...