B/S计算模式的3层架构:

软件设计与开发模式的演化

    1. 面向机器语言的开发模式
    2. 软件的生命周期开发模式
      • 需求分析
      • 系统设计
      • 系统开发
      • 系统测试
      • 运行和维护
    3. 原型法开发模式
    4. 面向组件(Component)的开发模式
    5. OOP模式
    6. 面向服务模式(SOA)

Java与XML的关系

  java实现了代码的平台无关性,而XML实现了数据的平台无关性。

JSP执行的3个条件

  JSP引擎、Java编译器、JVM

JSP的运行机制

JSP程序的开发模式:

  • 单纯的JSP编程:java代码与html代码混合在一起。现实和数据处理放在一个页面中;
  • Model 1模型(JSP+JavaBean):将要进行的业务逻辑封装到JavaBeans中,在JSP页面中通过动作标签来调用这个类,从而执行这个业务逻辑。此时的JSP除了负责部分流程的控制外,大部分用来显示页面,而JavaBean则负责业务逻辑的处理。其流程图如下图所示:
  • JSP+Servlet+JavaBean: JSP+JavaBean设计模式虽然已经将网站的业务逻辑和显示页面进行分离,但这种模式下的JSP不但要进行程序中大部分的流程控制,而且还要负责页面的显示,所以仍然不是一种理想的设计模式。在JSP+JavaBean设计模式的基础上加入Servlet来实现程序中的控制层,是一个很好的选择。在这种模式中,由Servlet来执行业务逻辑并负责程序的流程控制,JavaBean组件实现业务逻辑,充当着模型的角色,JSP用于页面的显示。其流程图如下所示:
  • 但JSP+Servlet+JavaBean模式同样也存在缺点。该模式遵循了MVC设计模式,MVC只是一个抽象的设计概念,它将待开发的应用程序分解为三个独立的部分:模型(Model)、视图(View)和控制器(Controller)。虽然用来实现MVC设计模式的技术可能都是相同的,但各公司都有自己的MVC架构。即这些公司用来实现自己的MVC架构所应用的技术可能都是JSP、Servlet与JavaBean,但他们的流程及设计却是不同的,所以工程师需要花更多的时间去了解。从项目的开发观点上来说,因为需要设计MVC各对象之间的数据交换格式与方法,所以会需要花费更多的时间在系统的设计上。 使用JSP+Servlet+JavaBean模式进行项目开发时,可以选择一个实现了MVC模式的现成的框架,在此下进行开发,大大节省了开发时间,会取得事半功倍的效果。目前已有很多可以使用的现成的MVC框架,例如Struts框架。

MVC模式

  MVC(Model-View-Controller,模型—视图—控制器)是一种程序设计概念,它同时适用于简单的和复杂的程序。使用该模式可将待开发的应用程序分解为3个独立的部分:模型、视图和控制器。提出这种设计模式主要是因为应用程序中用来完成任务的代码——模型(也称为“业务逻辑”)通常是程序中相对稳定的部分,并且会被重复使用,而程序与用户进行交互的页面——视图,却是经常改变的。如果因需要更新页面而不得不对业务逻辑代码进行改动,或者要在不同的模块中应用到相同的功能而重复地编写业务逻辑代码,不仅降低了整体程序开发的进程,而且会使程序变得容易维护。因此,将业务逻辑代码与外观呈现分离,将会更容易地根据需求的改变来改进程序。

  MVC模式中的Model(模型)指的是业务逻辑的代码,是应用程序中真正用来完成任务的部分。

  View(视图),实际上就是程序与用户进行交互的界面,用户可以看到它的存在。视图可以具备一定的功能并应遵守对其的约束,在视图中不应包含对数据处理的代码,即业务逻辑代码。

  Controller(控制器),主要控制用户请求并作出响应。它根据用户的请求选择模型或修改模型,并决定返回怎样的视图。

Java WEB应用开发的更多相关文章

  1. java web的开发 知识要点

    近期闲下来时写的一个有关 java web的开发 的 常用架构 的总结,用于初 学 者或团队新人培训. Java开发初步.ppt SSH  为 struts+spring+hibernate 的一个集 ...

  2. Java Web高性能开发(三)

    今日要闻: Clarifai:可识别视频中物体 最近几年,得益于深度学习技术的发展,谷歌和Facebook等企业的研究人员在图形识别软件领域取得了重大突破.现在,一家名为Clarifai的创业公司则提 ...

  3. Java Web高性能开发(二)

    今日要闻: 性价比是个骗局: 对某个产品学上三五天个把月,然后就要花最少的钱买最多最好的东西占最大的便宜. 感谢万能的互联网,他顺利得手,顺便享受了智商上的无上满足以及居高临下的优越感--你们一千块买 ...

  4. 使用MyEclipse搭建java Web项目开发

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成 ...

  5. java web面试技巧,数据库面试,java web轻量级开发面试教程

    我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...

  6. java web方面的面试问题,Spring MVC方面的面试问题,摘自java web轻量级开发面试教程

    本文摘自java web轻量级开发面试教程: https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80%E ...

  7. java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试

    本内容摘自 java web轻量级开发面试教程 https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80% ...

  8. java web轻量级开发面试教程内容精粹:哪些简历得不到面试机会

    看到一本较好的实践性比较强的书,java web轻量级开发面试教程,里面的一些内容很有实践意义. 问题点 很难获得面试机会的原因 学历不符,比如要求是本科以上,但学历是大专 学历是硬指标,所以达不到学 ...

  9. Java web轻量级开发面试教程读书笔记:数据库方面,如何准备面试

    如果在面试或与资深人事交流的过程中,你能有效合理地展示出本章所给出的一些知识点,那么对你的评价就会是"对数据库有深入了解",甚至能加上"有设计数据表的经验",即 ...

  10. java web轻量级开发面试教程读书笔记:建索引时我们需要权衡的因素

    场景一,数据表规模不大,就几千行,即使不建索引,查询语句的返回时间也不长,这时建索引的意义就不大.当然,若就几千行,索引所占的空间也不多,所以这种情况下,顶多属于"性价比"不高. ...

随机推荐

  1. 云计算之路-试用Azure:拐弯抹角的负载均衡

    负载均衡是云服务商标配的免费服务.阿里云的对应产品叫SLB,UCloud的对应产品叫ULB,操作都很简单直观,进入负载均衡管理控制台,添加负载均衡,选择相应的虚拟机即可. 而Azure则完全不一样,在 ...

  2. java小游戏代码

    一. 需求分析 曾几何时,游戏是海洛因的代名词,让人与玩物丧志联系在一起.一度遭到社会反感和家长抵制.可是.随着互联网的发展,和游戏潜在优点被发现.游戏的价值開始逐渐被社会认可,人们開始接受.认识和了 ...

  3. unicode 编码在线转换工具

    字符串 unideo的16进制值  

  4. 关于jquery的on,你怎么绑定就怎么解除

    打开jquery3.0一看,竟然把一大半的时间绑定的东西都废弃了 基本上绑定时间可以统一成了on,不管你是不是动态进来的dom节点 live我们知道1.7的时候就已经废弃了,还在觉得live很好用的同 ...

  5. swagger 生成的接口文档,隐藏接口的某个参数

    [问题描述] controller 中的处理请求的方法,有时候会添加一些额外的参数.比如下面代码中 UserVo: @PostMapping(value = "/add-office-par ...

  6. 【DB2】不同编码格式下的汉字所占字节

    UTF-8 (8-bit Unicode Transformation Format) 是一种针对Unicode的可变长度字符编码,又称万国码,它包含全世界所有国家需要用到的字符,是国际编码,通用性强 ...

  7. 【Datastage】在win10安装Datastge 8.7

    在win10安装提示Datastage提示如下错误: 强制安装: setup.exe -force 进入浏览器安装界面后 忽略"失败"即可成功安装.

  8. 移动端页面弹幕小Demo实例说明

    代码地址如下:http://www.demodashi.com/demo/11595.html 弹幕小Demo实例地址,点击看效果 写在前面:尝试做了一下弹幕的实例,欢迎提出并指正问题 问题说明: D ...

  9. pip换国内源

    pip换国内源 1.国内常用源   阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.edu. ...

  10. docker build 的 cache 机制

    cache 机制注意事项 可以说,cache 机制很大程度上做到了镜像的复用,降低存储空间的同时,还大大缩短了构建时间.然而,不得不说的是,想要用好 cache 机制,那就必须了解利用 cache 机 ...