BBS水木清华站∶精华区

发信人: Jorling (Kiddy), 信区: Java        
标  题: JSP简介(一) 
发信站: BBS 水木清华站 (Sun Jul  9 21:29:28 2000) 
 
 
                                 JSP简介(一) 
 
                                         2000-07-07· 清风·Yesky 
 
    JSP(IAVA SERVER PAGES)是由Sun Microsystems公司倡导、许多公司参与一起建 
立的一种动态网页技术标准,其在动态网页的建设中有其强大而别特的功能,现介绍如 
下: 
一、JSP的优点 
     1,将内容的生成和显示进行分离 
         使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最 
终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的, 
例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBe 
ans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在 
标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面, 
而不影响内容的生成。 
      在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访 
问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML( 
或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于 
HTML的Web浏览器的完全可用性。 
    2,生成可重用的组件 
      绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise J 
avaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换 
执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组 
件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发 
努力中得到平衡。 
     3,采用标识简化页面开发 
     Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了 
许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。 
标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet 
,以及执行用其他方法更难于编码和耗时的功能。 
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以 
为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识 
一样的执行特定功能的构件来工作。 
     4, 将内容的生成和显示进行分离 
     与SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println书写和修改HTM 
L更方便。此外,你可以更明确的进行分工,WEB页面设计人员编写HTML,只需要留出地 
方让SERVLETS程序员插入动态部分即可。 
     5, 由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被 
编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安 
全性。 
     6 作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点 
。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务 
器和工具,更改工具或服务器并不影响当前的应用。 
二、JSP的运行环境的安装 
    1、要使WEB 服务器支持JSP首先需要装JAVA的开发环境JDK,现其最高版本为1.2.2 
,其可在java.sun.com下载。以Window平台下为例,下载jdk1.2.2 for win包,解压至c 
\jdk1.2.2目录下即可。 
    2、 其次是支持jsp引擎的WEB服务器或jsp引擎,如Java Web Server 2.0,resin。 
现介绍如下: 
   GNU JSP          http://www.klomp.org/gnuisp      GPL 
   JavaServer Web Development kit http://java.sun.com/products/jws JavaSoft的 
Web Server系统 
   Resin   http://www.caucho.com    支持javascript,java,servlet 
   Sjsp    http//web.telecom.cz/sator/jsp/ 
   JRUN    http://www.livesoftware.com  livesoftware是Servlet主要的技术领导 
   Orion   http://orion.evermind.net 
   ServletExec  http://www.newatlanta.com 
   websphpere   http://www.software.ibm.com/webservers 
   JServ-Java Apache http://java.apache.org  必须与Apache Web Server配合 
    在这里我们使用免费servlet开发套件Resin,其最高版本为1.2。它的功能非常的强 
大支持javascript、java、servlet,在运行时能自动编译新的和修改过的java源程序.从 
http://www.caucho.com下载其压缩包解压,这里我把其解压于c:盘下。然后进入c:\re 
sin1.2\bin中运行setup.exe设置resin的工作目录为c:\resin1.2。 
最后运行httpd.exe启动Web服务器,打开浏览器,在地址栏输入:http://localhost:8 
080,你将看见到resin的欢迎界面。需要说明的是resin的web服务器的根目录是resin目 
录下的doc目录。 
三、JSP指令和脚本元素 
   1,JSP指令是为JSP引擎而设计的。他们并不直接产生任何可见输出,而只是告诉引擎 
如何处理其余JSP页面。这些指令始终被括在 “<%@ ?%>”标记中。两个最重要的指令是 
“pagePage”和“Include”。几乎在所有JSP页面顶部都会看到“Page”指令。尽管不 
是必须的,但它可以让你指定:到何处查找起支持作用的Java类别: 
<%@ page import="java.util.Date" %>, 
出现Java运行问题时,将网上冲浪者引向何处: 
<%@ page errorPage="errorPage.jsp" %>, 
还有你是否需要管理用户的会话级信息,这些信息可能来自多个网页述: 
<%@ page session="true" %>. 
“Include”指令可以把你的内容分成更多可管理的元素,比如包括一个普通页面页眉或 
页脚的元素。包含的网页可以是一个固定的HTML 页面或更多的JSP内容: 
<%@ include file="filename.jsp" %> 
  2 JSP声明用来让你定义页面级变量,以保存信息或定义JSP页面的其余部分可能需要 
的支持方法。如果你发现代码太多,通常最好把它们写成一个独立的Java类别。声明一 
般都在“<%! ?%>”标记中。一定要以分号(;)结束变量声明,因为任何内容都必须是 
有效的Java语句: 
<%! int i=0; %>。 
  3,有了JSP表达式,表达式评估结果会被转换成一个字符串,并且被直接包括在输出页 
面之内。JSP 表达式包含在“<%= ?%>” 标记中,没有分号,除非在加引号的字符串部 
分使用分号。 
<%= i %> 
<%= "Hello" %> . 
4 代码片段/脚本片段(Scriptlets) JSP代码片段或脚本片段是嵌在“<% ?%>”标记中 
的。这种Java代码在Web服务器响应请求时就会运行。在脚本片段周围可能是原始的HTM 
L或XML语句,在这些地方,代码片段可以使你创建条件执行代码,或要用到另外一段代 
码的代码。例如,以下的代码组合使用表达式和代码片段,显示H1、H2、H3和H4标记中 
的字符串“Hello”。代码片段并不局限于一行源代码: 
<% for (int i=1; i<=4; i++) { %> 
<H<%=i%>>Hello</H<%=i%>> 
<% } %>. 
5 在JSP中嵌入式注释。尽管你始终可以在文件中加入HTML注释,但用户在查看页面源代 
码时会看到这些注释。如果你不想让用户看到它,你就应该将其嵌入“<%-- ?--%>” 标 
记中: 
<%-- comment for server side only --%>. 
    JSP还有三类主要的元素:Scripting elements,Directives,和 Actions.使用Scri 
pting elements您可以定义最终转换为Servlet的部分,Directives 使您可以控制这个 
Servlet的整体结构,而Actions使您可以指定可重用的已有组件,另外,还可控制JSP引 
擎的运行。 
四 简单应用 
  好现在以几个简单的例了来应用以上所介如的: 
  例一 hello.jsp在浏览器上输出"hello world". 
    <HTML> 
    <HEAD> 
      <TITLE>Simple Example</TITLE> 
    </HEAD> 
    <BODY> 
     <% out.println("Hello, world!"); %> 
    </BODY> 
   </HTML> 
  例二、dates.jsp在浏览器上输出服务器端取出的时间. 
     <HTML> 
     <HEAD> 
       <TITLE>JSP Date Demo Page</TITLE> 
      </HEAD> 
    <BODY> 
    <H1>JSP Date Demo Page</H1> 
      The current date is 
      <% 
        java.util.Date date = new java.util.Date(); 
        out.println(date); 
      %>. 
     <br>expression syle 
     <%=date%> 
     </BODY> 
    </HTML> 
  把hello.jsp和dates.jsp放入resin的doc目录下,然后在浏览器中运行:http://loc 
alhost:8080/hello.jsp 和 http://localhost:8080/dates.jsp即可见结果。好了这次 
就介绍到这里了,通过上面的介绍相信大家对jsp有了一个整体的认识吧.在简介二里在 
做进一步的讲解 
 
-- 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.145.229] 

BBS水木清华站∶精华区