1、servlet技术
2、JSP技术
3、模型1:JSP+JavaBean
4、模型2:JSP+JavaBean+Servlet
5、框架
6、可视化开发
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技术的目标是快速开发网站,在网页中嵌入Java代码完成网站。例如下面的代码就是1个简单的JSP例子:
<html> <head><title>测试</title></head> <body> 第一阶段<% String str = “test” ; out.println(str); %> </body> </html>如果希望进行一些处理,直接在界面中使用<% %>脚本标识嵌入Java代码。如果要开发具有大量网页内容的网站效率比较高,可以先使用网页编辑工具编写网页,然后在网页中嵌入处理代码即可。但是缺点是:网站的输入输出、处理、控制全部夹杂在一起,维护不方便。当网站中需要进行大量的处理代码的时候,JSP文件将很难维护,并且代码也不容易共享。 因为JSP在编写网页方面具有优势,而编写处理代码存在很多问题,所以产生了模型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中的控制功能提取出来使用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中开发应用一样方便。 --------------------- 作者:老李-大连 来源: 原文:https://blog.csdn.net/javaeeteacher/article/details/6478450 版权声明:本文为博主原创文章,转载请附上博文链接!