大可制作:QQ群:31564239(asp|jsp|php|mysql)

语言技术: JSP/Servlet

我们是相互合作的。。。Java EE 的蓝图中,JSP/Servlet是属于Web层技术,JSP与Servlet是一体的两面,您可以使用单独一项技术来解决动态网页呈现的需求,但最好的 方式是取两者的长处,JSP是网页设计人员导向的,而Servlet是程序设计人员导向的,厘清它们之间的职责可以让两个不同专长的团队彼此合作,并降低 相互间的牵制作用。








准备工作
    动态网页的请求发送大都是透过表单,所以先对表单制作简单的整理一下,Servlet 容器(Container)主要是管理JSP/Servlet资源的,文件撰写过程中使用的是Tomcat
 5.5.4。
JSP
    JSP是基于Java语法,只要您了解Java的基本语法,就可以只使用JSP来撰写动态网页。
  • 基础入门
先来看看如何撰写 基本的JSP动态网页,以及JSP背后运 作的机制,JSP事实上也是转译为 Servlet,骨子里还是个Servlet程序。
  • 隐含对象(Implicit Object)
JSP转译之后就 是Servlet,各个隐含对象都对应于 Servlet API中的某个对象,如果您对隐含对象的功能有什么不了解的,查询Servlet API文件中该对象的说明就可以了解了。
  • Action 元素
JSP中有数种类 型的Action元素,有一些使用于 JavaBean,有一些使用于自订标签等等,这边先介绍几个常用的元素。

JSP 与 Model 1 架构
    在HTML标签间混合程序码会使得程序逻辑与网页逻辑都难以维护,Model 1是将程序码与网页逻辑分离的一种架构,JSP中有一些技术用以支持这种架构的实现。
  • JavaBean
JavaBean 是一个纯綷的Java类,它遵守一些规 则与命名方式,它是一个公开(public)的类,具有公开的setter与getter方法,在JSP中可以使用它将程序的逻辑处理与呈现部份分离。
  •  Expression Language
Expression Language在JSP 2.0中纳入了JSP的标准,它定义了变量存取、运算、隐含对象、函数等内容,配合JavaBean或其它标签库,可以实现较好的逻辑与视图分离之目的。

  • 标签库(Tag Library)
您可以将一些网页 格式处理或是限定存取之类的需求,使用标 签库来处理,程序逻辑撰写在标签处理类(Tag Handler Class)中,并定义好标签库定义文件(.tld),而在JSP网页中使用自订标签来撰写网页。

  • Tag File
Tag File是从JSP 2.0开始新增的功能,主要的目的是让撰写JSP网页的网页设计人员即使在不懂Java语法的情况下,也可以使用JSP语法来自订标签。

Servlet
    JSP网页最后是转译为Servlet,从Java程序设计人员的角度来看,Servlet其实就是一个 Java类,它实现Servlet接口,通常我们会继承实现该接口的GenericServlet类或HttpServlet类。
  • 基础入门
如果您了解JSP 中的隐含对象之意义,再来了解 Servlet中的对应对象,则学习Servlet就不是件难事。

  • Filter
使用 Filter,您可以先对request作一些前置处 理,例如进行身份验证、过滤不安全的请求、监视统计请求的来源与出处等等,或是对response进行后置处理,例如对输出先进行压缩、对XML的呈现进 行转换等等。

JSP/Servlet 与 Model 2 架构
    这边藉由实现一个简单的 Model 2 Web 应用程序,了解如何以JSP/Servlet 技术实现一个 Model 2 架构的简单应用程序。

附录