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进行了解,而我们常用的技术,也应该有所了解 /*<------------------->*/知识点: ...
随机推荐
- python脚本文件删除
昨天有需求需要用python脚本删除一个目录下的文件.遇到了点麻烦. 使用的是shutil.rmtree(dir)函数,这个函数可以删除有内容的目录,而shutil.rmdir(dir)只能删除空目录 ...
- .Net_用控制台程序打印指定行数的三角型(面试题)
.Net_用控制台程序打印指定行数的三角型(面试题) 下面是一个由*号组成的4行倒三角形图案.要求: 1.输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”: ...
- bootstrap开始咯
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- HDU 5898 odd-even number(2016沈阳网络选拔赛 数位DP)
定义DP[pos][pre][odd][even],pos代表当前数位,pre代表前一位的数值,odd代表到前一位连续的奇数个数,even代表到前一位连续偶数个数. odd和even肯定至少有一个为0 ...
- RecyclerView onTouch & onClick 触摸事件与点击事件
遇到一种情况需要处理,RecyclerView所在Activity需要处理滑动事件用于返回(onBackPressed). 手势检测: @Override public boolean onFling ...
- UVA 12083 POJ 2771 Guardian of Decency
/* http://acm.hust.edu.cn/vjudge/contest/view.action?cid=71805#problem/C */ 性质: [1]二分图最大点独立数=顶点数-二分图 ...
- Android 调试工具集【转】
1.TraceView1)功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等 2)方法: a)在程序代码中加入追踪开关 import android.os.Debug ...
- how to use the curses library in unix?
In linux, you can use the ncurses library to use the terminal as a text buffer: move the cursor arou ...
- postgres 数据库备份恢复
postgre 数据库备份恢复命令 备份:pg_dump -U postgres -v -F c -Z 4 -f ***.backup dbname 9压缩率最狠恢复:pg_restore -U p ...
- isPostBack原理
从 到输入用户名,点击提交按钮 这个过程就叫做postback(是两个不同的状态) 利用ispostback原理,实现是否第一次进入处理程序(上一个用用户名判断的不好,会导致在用户名空的情况下 ...