Java Web基础:第八讲 Java Web的发展历史

Java语言程序设计基础篇 第八章 课后编程答案   原博链接:Java语言程序设计基础篇 第八章 课后编程答案   import java.util.Scanner; public class ch0801{ public static void main( String[] args ){ Rectangle r1 = new Rectangle(4,40) ; Rectangle r2 = new Rectangle(3... 阅读详情

        Java Web技术的发展经历了如下几个阶段:

l         Servlet 技术;
l         JSP 技术;
l         模型1 :JSP+JavaBean
l         模型2 :JSP+JavaBean+Servlet
l         框架
l         可视化开发
下面分别进行介绍。
Servlet技术阶段
Servlet 是Java 技术中最早的Web 解决方案,Servlet 与普通Java 类的编写非常类似。使用Servlet 技术,页面中的所有信息需要通过输出语句来生成。下面的代码(部分代码)生成的页面的内容就是“HelloWorld !”。
public void doGet(HttpServletRequest request,HttpServletResponse)
   throws IOException,ServletException
{
    response.setContentType("text/html;charset=gb2312");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Hello World ! </title></head>");
    out.println("<body>");
    out.println("<p>Hello World ! </p>");
    out.println("</body></html>");
}
如果采用HTML 语言直接生成相同功能的界面,将非常简单。正因为此,Java 推出了JSP 技术,JSP 可以有效解决Servlet 生成页面比较困难的问题。
JSP技术阶段
JSP 技术的目标是快速开发网站,在网页中嵌入Java 代码完成网站。例如下面的代码就是1 个简单的JSP 例子:
<html>
   <head><title> 测试</title></head>
   <body>
      第一阶段<% String str = “test” ; out.println(str); %>
</body>
</html>
如果希望进行一些处理,直接在界面中使用<% %> 脚本标识嵌入Java 代码。如果要开发具有大量网页内容的网站效率比较高,可以先使用网页编辑工具编写网页,然后在网页中嵌入处理代码即可。但是缺点是:网站的输入输出、处理、控制全部夹杂在一起,维护不方便。当网站中需要进行大量的处理代码的时候,JSP 文件将很难维护,并且代码也不容易共享。
因为JSP 在编写网页方面具有优势,而编写处理代码存在很多问题,所以产生了模型1 ,把JSP 中的处理代码使用JavaBean 来实现。
模型1:JSP+JavaBean阶段
JavaBean 是使用Java 语言编写的组件,简单的理解,可以认为JavaBean 是比较特殊的Java 类。JavaBean 会把网站中处理过程进行封装,这样的结果就是在JSP 文件中仅仅是输入输出功能和控制功能,处理过程放在JavaBean 中,然后在JSP 中调用JavaBean 的功能,JSP 提供了若干标签支持调用。下面的例子展示了这种模型。
JavaBean 文件:
package test;
public class PrintMessage
{
   public String print()
   {
      return “ 使用JavaBean 返回信息”;
   }
}
页面文件:
<%@ page import=”test.*” %>
<jsp:useBean id=”printMessage” class=”test.PrintMessage” scope=”request”/>
<html>
   <head><title> 测试</title></head>
   <body>
      第一阶段<% out.print(printMessage.print()); %>
</body>
</html>
这种模型的优点是:业务处理由JavaBean 完成,减少了页面中的代码。缺点是:页面中仍然有用于控制的代码。
模型2:JSP+JavaBean+Servlet阶段
在模型2 中,把JSP 中的控制功能提取出来使用Servlet 实现。这样,JavaBean 强调的是功能,Servlet 主要用于控制。从完成的功能来说,JSP 和Servlet 是相同的,但是JSP 主要以标签(HTML 标签和JSP 标签)为主,Servlet 是Java 代码。JavaBean 和Servlet 都是Java 代码,但是Servlet 能够接收请求,用户能够直接访问,JavaBean 不能接收请求,需要由JSP 或者Servlet 调用。
这种模型的特点:JSP 完成输入和输出,主要使用HTML 标签和JSP 标签。Servlet 主要完成控制,接收请求,调用业务处理(JavaBean ),根据调用的结果找到一个JSP 页面对用户进行响应。JavaBean 完成所有的处理过程。
这种方式实际上是MVC 模式的采用。MVC 模式由3 部分组成:M 表示模型(模拟现实事物),主要用于处理过程;V 表示视图,实际上就是输入和输出功能;C 表示控制器,主要控制程序的流程。
框架阶段
随着Java Web 应用技术的发展,出现了大量的框架包括Web 层框架和持久层框架。
Web 层框架通常可以提供一些Web 应用的通用功能,用户在编写应用的时候只需要关注自己比较特殊的东西即可。例如,Servlet 作为控制器完成的功能包括:获取用户的输入信息;对信息进行验证、转换;使用这些信息调用业务逻辑(JavaBean 的方法);然后选择界面对用户响应。如果把获取的信息设置成变量、要进行的验证和转换进行配置、要调用的方法进行配置、要响应的界面进行配置,这样Servlet 就可以通用了。在本书的第二部分对流行的Web 层框架Struts2 和JSF 进行了介绍,并自己实现了1 个简单的框架。
持久层框架,主要是解决数据库访问问题,同样是把数据库访问中通用的内容提取出来,在编写应用的时候只编写特殊的东西。例如,要把用户信息和图书信息添加到数据库中,采用JDBC 技术,编写的两段代码的区别是表名不同,列与属性的对应关系不同。持久层框架就可以完成这个添加工程,用户只需要提供表名并且提供列与属性的对应关系。书中第二部分持久性部分将对持久层框架进行介绍。
可视化开发
随着集成开发环境对于Web 应用支持的增强,可视化Web 应用开发(JSF 技术)应该是未来的发展趋势。这种方式的开发就像以前在C++Builder 或者VB 中开发应用一样方便。
 
李绪成 优快云 Blog : http://blog.youkuaiyun.com/javaeeteacher
深入体验Java Web开发内目-核心基础 PDF篇 前言: 当您翻开这本文的时候,几乎会很难理解它是如何经过了数千个小时的倾心写作与推敲才得以面世的。本文里的每一个字、每一条语句都是经过我长时间的思索和琢磨,我曾因用脑过度而导致一夜又一夜的失眠;曾经因长时间坐着工作,导致臀部、大腿等与凳子有接触的部位疼痛难忍,而最后只能跪着或蹲着写书;曾经因各种原因使得写作进度缓慢而使得脾气变得更加暴躁,而很少给我的妻儿温暖和关爱。正因为如此,我可以大胆地说: “本文里100%的每一句话都是经过推敲和自己辛苦‘扣’出来的! 力求达到“多一句没用,少--句不行”的效.. 阅读详情

相关推荐

避坑指南:用逐飞开源库驱动MT9V03X摄像头时容易忽略的3个细节(附TFT显示优化技巧)

本文详细解析了在智能汽车竞赛中使用MT9V03X摄像头(总钻风)时常见的硬件连接、图像采集和TFT显示优化问题。重点介绍了逐飞开源库中容易被忽略的三个关键细节,包括电源管理、看门狗设置和中断优先级配置,并提供了针对IPS200和TFT180显示屏的优化技巧,帮助参赛队伍提升图像处理效率和显示质量。

study的专栏 747

Web发展历史

文章目录简介1.定义2.结构2.1 标准通用标记语言2.1.1. 简介2.1.2. 标记语言2.1.3. 衍生2.2 HTML2.2.1. 简介2.2.2. 历史2.3 HTML52.3.1. 简介3.表现3.1. 简介3.2. 历史3.3. CSS34.行为4.1. 简介4.2 Javascript4.2.1. 简介4.2.2. 组成4.3 ECMAScript4.3.1. 简介4.3.2. 历史5. DOM5.1. 简介5.2. 组成5.3. 历史5.3.1 DOM05.3.2 DOM0与DHTML5.

m0_62069822的博客 1450

【模拟电子设计实战】开源!基于Multisim与AD620的心电采集电路仿真与优化

本文详细介绍了基于Multisim与AD620的心电采集电路仿真与优化实战。通过分析心电信号采集的挑战,重点讲解了AD620仪表放大器和OP07运算放大器的选型优势及电路设计技巧,包括对抗50Hz工频干扰和基线漂移的优化方法。文章还分享了Multisim仿真参数设置与实测对比经验,最终实现性能达标的心电采集电路设计。

weixin_30555125的博客 97

Java Web开发技术发展历史

Java Web开发历史可以追溯到20世纪90年代末期

白白白鲤鱼的博客 1566

Q学习(Q-learning)入门小例子及python实现

一、从马尔科夫过程到Q学习 # 有一定基础的读者可以直接看第二部分 Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。 标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中: S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转...

wlm_py的博客 4万+

从零到一:如何用YOLOv8和PyQt5打造一个高效的路面坑洞检测系统

本文详细介绍了如何利用YOLOv8和PyQt5开发一个高效的路面坑洞检测系统。从环境配置、数据采集标注到模型训练优化,再到PyQt5界面开发与系统集成,提供了完整的实战指南。该系统结合深度学习技术,显著提升了道路检测的准确性和效率,适用于各类道路维护场景。

weixin_29047919的博客 308

细数Java技术架构这些年的发展史

前言 Java一度被称为是应用最广泛的编程语言。尤其在Java web方面,Java作为后台服务器开发语言,尤其是它跨平台一次编译随处运行的特性,更是受到不少企业和工程师们的爱戴。作为应用开发的主要语言,Java也需要借助其他很多优秀的框架,来实现系统或程序的完整性。针对不同的业务场景,选择合适的框架,是每一个架构师和工程师在开发一项软件之前,必须首先要考虑的事情。随着时代的进步和科技的发展,Java技术框架也在日新月异的进化。 一、Struts1.0 Struts1.0是早期的应用很广泛的web框架

程序大视界 3116

全志T113 Tina5.0开发:(一)添加自己的板级支持包

3.验证 先执行 source build/envsetup.sh ,然后lunch,下图可见9就是我们自己添加的板子。2. 1)修改 t113-evb1.mk重命名为t113-ws_devboard。我使用的spinand,只需要修改openwrt里面的文件即可。以下内容仅作为自己笔记,如果错误欢迎留言指出。修改t113-ws_devboard。

u014428915的博客 1165

Web发展简史

web发展简史 web的起源: web前身是1980年的Tim Berners-Lee负责的Enquire项目,1990年11月,第一个web服务器noxc01.cern.ch开始运行,Tim Berners-Lee在自己编写的图形化Web浏览器“WorldWideWeb”上看到了最早的web页面。1991年,CERN正式发布了Web技术标准,目前,与web相关的各种技术标准都由著名的W3C组织管...

菜鸟三四五的博客 4503

2023 ICRA《Visual Language Maps for Robot Navigation》阅读笔记

视觉语言导航可以使用预先训练的现有的视觉语言模型来将图像与对象目标的自然语言描述相匹配,但它与绘制环境的过程仍然脱节,缺乏经典几何地图的空间精度。为了解决这个问题,我们提出了VLMaps,这是一种空间地图表示,它将预训练的视觉语言特征与物理世界的3D重建直接融合在一起。VLMaps可以使用标准探索方法从机器人上的视频馈送中自主构建,并在没有额外标记数据的情况下实现地图的自然语言索引。具体来说,当与大型语言模型(LLM)相结合时,VLMaps可以用于。

qq_44100524的博客 1991

【网络与爬虫 61】移动端App爬虫终极指南:Android-iOS应用数据提取黑科技全解析

本文全面解析移动端App爬虫技术,涵盖Android和iOS两大平台的数据提取方法。从基础的网络抓包到高级的代码注入,从自动化测试框架到反调试技术绕过,为开发者提供移动端数据采集的完整解决方案和实战经验。

熵数实验室 3029

javaWeb发展历史

javaweb发展历史

weixin_42694511的博客 2640

安川机器人外部轴添加

本文详细介绍了如何在安川机器人本体上添加第7轴以及如何设置动作,本文以添加点焊枪为例进行讲解。

haier123888的博客 7895

Java Web基础入门第八讲 Java Web开发入门——初始WEB服务器

WEB开发的相关知识WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变的。 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。 静态web资源开发技术:html;常用动态web资

李阿昀的博客 4244

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java Web基础:第九讲 Web应用配置

李绪成的一亩三分地 1609

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

学习JAVA Web 第八天

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录JSP动作元素一、动作元素二、JSP:forward动作元素传智书城2.读入数据总结 JSP动作元素 JSP动作元素用来控制JSP的行为,执行一些常用的JSP页面动作,通过动作元素可以实现使多行JAVA代码能够实现的效果。 一、jsp:include动作元素 提供了在jsp中包

m0_55689293的博客 4874

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java基础系列-第一章 Java基础入门

本章节主要学习Java编程语言的入门知识,收录于Java基础系列,该系列主要讲解Java基础语法,面向对象以及Java高级部分知识点,希望可以帮到童鞋们。后续会持续更新JavaWeb系列和框架系列,如果觉得不错的话可以三连订阅喔。

秦老师的博客 2867

Java Web基础:第七讲 Servlet运行原理

李绪成的一亩三分地 2727

编程语言发展史:Java语言的出现和发展

2002年,Java语言发布了第四个标准版(JDK 1.4),包括了Java Web Start、Java NIO和Java Management Extensions等新特性,进一步提高了Java语言的性能和可扩展性。2006年,Java语言发布了J2SE 6,包括了更多的新特性,如JDBC 4.0、Java Compiler API和Java SE Desktop等,进一步提高了Java语言的性能和可扩展性。更好的安全性和可靠性:Java语言需要更好的安全性和可靠性措施,保护用户的隐私和数据安全。

Kali与编程 1113

【Java Web学习 | 第八篇】JavaScript(2) 基础知识2

本文是Java Web学习系列的第八篇,重点讲解JavaScript基础知识(下),涵盖函数、数组、对象和DOM操作等核心内容。通过学习,读者将能够封装可复用函数、处理后端返回的JSON数据、动态修改页面内容,为后续AJAX/Fetch调用后端接口做好准备。 文章详细介绍了函数定义方式(普通函数、箭头函数)、数组常用方法(forEach、map、filter等)、对象属性访问与解构,以及DOM元素获取、修改、创建和事件处理等实用技巧。最后提供了一个综合示例,演示如何动态渲染用户数据到页面,为前后端交互打下坚

likuoelie的博客 390

4. 个人谈心 ——【Java语言的诞生与发展:一段技术革新的历史】

Java语言的诞生和发展

一名普通高校生 903

《Java Web程序设计任务教程》简要复盘:第三章 Servlet基础

《Java Web程序设计任务教程》简要复盘:第三章 Servlet基础第三章:Servlet基础一.Servlet概述二.Servlet开发入门IDEA配置JAVA Web编程环境 作者:氯磷Rolin 第三章:Servlet基础 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还

oALiKongZuo的博客 1087

零基础学Java——第八章:Java网络编程(下)

在本章的第二部分中,我们学习了Java网络编程的更多高级内容,包括HTTP客户端、网络爬虫入门和邮件发送。这些知识使我们能够开发更复杂、更实用的网络应用程序。通过HTTP客户端,我们可以与Web服务器进行交互,获取和发送数据;通过网络爬虫,我们可以自动获取和分析网页内容;通过JavaMail,我们可以在应用程序中实现邮件发送功能。这些技术在实际应用中非常有用,例如:开发Web API客户端、数据采集工具、自动化报告系统等。

qqxhb 资源共享 1252

Java基础选择题

习题均在网上摘抄,总结

qq_48019875的博客 6278

【Java Web】 第八章

1.文件上传的应用场景:提交作业 上传头像 提交简历(上传附件) 上传商品,图书图片2.文件上传的前台如何编写以及注意事项:①.肯定需要用到表单②.文件上传的那一栏需要提供 input的type=file的组件,同样需要加name给后台获取③.回顾form表单的三大属性:A.action:表单的提交路径B.method:表单的提交方式,2大默认值,一般都是post,很少使用get。

2201_75321290的博客 964

《Java Web程序设计任务教程》简要复盘:第八章 Servlet的高级特性-Filter和Listener

《Java Web程序设计任务教程》简要复盘:第八章 Servlet的高级特性-Filter和ListenerFilter 过滤器Filter 概述 作者:氯磷Rolin 目录: 第一章:网页开发基础(无) 第二章:Java Web概述 第三章:Servlet基础 第四章:请求与响应 第五章:会话及其会话技术 第六章:JSP技术 第七章:EL表达式和JSTL 第八章:Servlet的高级特性 第九章:JDBC 第十章:数据库连接池与DBUtils工具 第十一章:JSP开发模型 第十二章:文件的上传和下载

oALiKongZuo的博客 658
上一篇: Java Web基础:第七讲 Servlet运行原理
下一篇: 为“得”而“舍”
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值