李绪成的一亩三分地

——忙着,快乐着 《Java语言程序设计(Java7)——入门与提高篇》出版发行,清华大学出版社,2014.2...

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

        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中开发应用一样方便。
 
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭