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

原创 2009年11月09日 16:45:00

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

l         Servlet技术;
l         JSP技术;
l         模型1JSP+JavaBean
l         模型2JSP+JavaBean+Servlet
l         框架
l         可视化开发
下面分别进行介绍。
Servlet技术阶段
ServletJava技术中最早的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来实现。
模型1JSP+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完成,减少了页面中的代码。缺点是:页面中仍然有用于控制的代码。
模型2JSP+JavaBean+Servlet阶段
在模型2中,把JSP中的控制功能提取出来使用Servlet实现。这样,JavaBean强调的是功能,Servlet主要用于控制。从完成的功能来说,JSPServlet是相同的,但是JSP主要以标签(HTML标签和JSP标签)为主,ServletJava代码。JavaBeanServlet都是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层框架Struts2JSF进行了介绍,并自己实现了1个简单的框架。
持久层框架,主要是解决数据库访问问题,同样是把数据库访问中通用的内容提取出来,在编写应用的时候只编写特殊的东西。例如,要把用户信息和图书信息添加到数据库中,采用JDBC技术,编写的两段代码的区别是表名不同,列与属性的对应关系不同。持久层框架就可以完成这个添加工程,用户只需要提供表名并且提供列与属性的对应关系。书中第二部分持久性部分将对持久层框架进行介绍。
可视化开发
随着集成开发环境对于Web应用支持的增强,可视化Web应用开发(JSF技术)应该是未来的发展趋势。这种方式的开发就像以前在C++Builder或者VB中开发应用一样方便。
 
上一讲:第七讲 Servlet运行原理
下一讲:第九讲 Web应用配置
李绪成 CSDN Bloghttp://blog.csdn.net/javaeeteacher
邀请您为好友:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5

Java Web 发展的理解

我们大家现在基本上都用struts2或者Spring MVC 来进行Java web的开发,但我们都知道Java web 的核心技术是:jsp 、servlet和javabean的组合,那为什么现在都...
  • liufunan
  • liufunan
  • 2015年10月23日 11:25
  • 1230

Web开发的发展史---Web开发技术的演变

在接下来的几个月时间里,我打算写一系列关于完整web开发的文章。这第一篇文章虽然有所粗略,但也能够充分概括了在之前15年或者更久的时间里web应用程序如何进行演变。并且最后我会囊括下这段时间内所写的相...
  • zzzkk2009
  • zzzkk2009
  • 2013年08月09日 09:17
  • 11865

历史上最全面的的Servlet总结

Servlet解刨 1:使用Java EE版本的Eclipse开发动态的WEB工程(Java WEB项目)  1)把开发选项切换到Java EE  2)可以window->show view中找...
  • pangqiandou
  • pangqiandou
  • 2017年04月07日 16:22
  • 487

Java Web 发展的理解

我们大家现在基本上都用struts2或者Spring MVC 来进行Java web的开发,但我们都知道Java web 的核心技术是:jsp 、servlet和javabean的组合,那为什么现在都...
  • liufunan
  • liufunan
  • 2015年10月23日 11:25
  • 1230

Web开发的发展史---Web开发技术的演变

在接下来的几个月时间里,我打算写一系列关于完整web开发的文章。这第一篇文章虽然有所粗略,但也能够充分概括了在之前15年或者更久的时间里web应用程序如何进行演变。并且最后我会囊括下这段时间内所写的相...
  • zzzkk2009
  • zzzkk2009
  • 2013年08月09日 09:17
  • 11865

【Web开发原理】web发展历史

Web的诞生 提到Web,不得不提一个词就是“互联网”。Web是World Wide Web的简称,中文译为万维网。“万维网”和我们经常说的“互联网”是两个联系极其紧密但却不尽相同的概念。今天“互...
  • moshenglv
  • moshenglv
  • 2016年06月05日 19:01
  • 2157

十年WEB技术发展历程

ajax 03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,...
  • testin_slow999
  • testin_slow999
  • 2015年07月10日 15:47
  • 646

JS起源及发展历史

iOS开发其他必备技能!JavaScript!
  • yungeIOS
  • yungeIOS
  • 2016年09月26日 10:31
  • 2948

HTTP 协议发展历史

HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。 本文介绍 HTTP 协议的历史演变和设计思路。 一、HTTP/0.9 ...
  • liujianfei526
  • liujianfei526
  • 2016年11月22日 18:00
  • 831

Android 发展历史

在如今日新月异的今天,高科技不断涌现,信息量爆炸的时代,我们庆幸生活在这样一个时代,同样我们不得不接受科技给我们带来的一系列改变。在生活中,工作中有着一系列的产品,它们有着自己的使命,每一种计算机语言...
  • zhongchengxi
  • zhongchengxi
  • 2016年07月10日 16:59
  • 6284
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java Web基础:第八讲 Java Web的发展历史
举报原因:
原因补充:

(最多只允许输入30个字)