JSP开发入门

JavaServer Pages (JSP) 是一种以 Java为主的跨平台web开发语言。

  JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript。当你所使用的网站服务器没有提供本地ASP支持,也就是Apache或Netscape服务器时,你可以考虑使用JSP。虽然你可以取得这些服务器的ASP附加配备模块,但价格相当昂贵,而目前Sun并没有对你所需要的JSP组件收取费用(虽然Sun未来有可能会收费)。对于Solaris与Linux以及Windows,这些组件也都很容易取得。 

  请不要将JSP与服务器端的JavaScript混为一谈。网站服务器会自动将以JSP写成的Java程序代码段转换成Java servlets。而许多先前必须以Perl手写程序或服务器特定的API(如ASP)控制的功能也都可透过JSP来自动化处理。

  现在就让我们开始动手帮助你建立一个可执行JSP范例网站。

一、安装好你的机器来使用JSP  
二、JSP语法的基本原理  
三、JSP与JavaBean  
四、JJSP的内部对象  
五、JSP其他相关资源

JSP开发入门2  
安装好你的机器来使用JSP

  你将会需要Java 2软件开发工具(JSDK),它原来的名称是Java发展工具(JDK)以及JavaServer网站发展工具(JSWDK),Tomcat,或是其它支持JSP的网络服务器。Sun免费提供JSDK与JSWDK来供Windows,Solaris,以及Linux平台使用。 

如果你想要在你目前的网络服务器上使用JSP,但服务器本身并不支持JSP与Java servlets,你可以试试看Allaire的Jrun,它的作用就像是针对Netscape企业版与FastTrack服务器、微软的网际网络信息服务器(IIS)与个人网络服务器(PWS)、Apache、以及其它服务器的网络服务器附加设备。你也可以使用Apache网络服务器的Java版本,最新的JSWDK里有提供。

  下载与安装你需要的组件

  目前发布的1.2.2-001,JSDK可下载的版本是以可安装的压缩形式。下载的文件大约是20MB,可提供完整的Java发展环境,让你能建立利用标准API为核心的Java解决之道。然而,你的网络服务器需要应用到JSP的唯一一件事是Java编译器。要让网络服务器知道编译器的位置,将环境变量JAVA.HOME设到JSDK的安装目录。如果你是在Windows上安装并且接受预设目录,将这行程序代码set JAVA.HOME=C:1.2.2加到你的autoexec.bat档案并且重新开机。

在安装好JSDK之后,下载并且安装JSWDK或beta版的Tomcat,以Java为主的Apache网络服务器。安装在哪里并不重要,重要的是你可以找到它。一般而言,它会放在上层目录,这种方式可以让你取代JSWDK或 JSDK的网络服务器,不需要移动其它的网络服务器。在你安装好这个档案之后,你就可以准备发展JSP了。  
  在你正确的安装JSWDK之后,执行startserver指令文件来激活网络服务器,预设通讯端口 为 8080。要看你在激活服务器之后是均C有正确的安装工具,你可以加载范例JSP档案中的任何一个(http://localhost:8080/examples/jsp/)。如果你能够成功的执行一个范例档案,你可以知道你已经正确的设定好软件了。如果你在激活服务器的控制台窗口看到错误讯息,那么你需要解决这个问题。最常发生的问题是没有设定(或者不正确设定)环境变量JAVA.HOME。要检视目前的环境设定,在DOS模式下键入set。

  开始

  解释JSP语法之前,先建立一个显示目前日期与时间的快速网页并且将它储存成sample.jsp:

  <html>

  <head>

  <title>First Page</title>

  </head>

  <body>

  <H3>Today is:

  <%= new java.util.Date() %>

  </H3>

  </body>

  </html>.

将这个档案与你所有的HTML与JSP网页放在你JSWDK安装目录下的网页目录里. 你可以在http://localhost:8080/sample.jsp下载此页.当你第一次参观这个网页时,网站服务器会将JSP翻译成Java servlet程序代码,那你就会看到目前的日期与时间.  
  现在你已经下载,安装,并且架构好发展环境,你已经准备好要了解JSP语法与建立你自己的JSP为主的解决之道.

JSP开发入门3
  JSP语法的基本原理

安装之后,接下来我们要讨论JSP的语法.如果要偷懒,你可以下载语法卡而如果你不熟悉 Java的程序设计,你可能会想要参考Sun的使用手册;然而,网站建立者不应该做太多的Java发展。除了几个函式呼叫之外,出现在你JSP网页上的Java程序代码应该将它减到最少;  
  记住这点之后,现在让我们先来看看JSP的编译器指引与指令组件,之后我们将解释JavaBeans与内部对象. JSP编译器指引与指令组件有五种型态.JSP 1.0之后,大部分的JSP是包含在以<% 作为开始%>作为结束的单一卷标里.新的 JSP 1.1规格已经发表了,它同时也与XML兼容.

JSP的编译器指引与指令组件

  编译器指示       <%@ 编译器指示 %>

  声明          <%! 声明 %>

  表达式         <%= 表达式 %>

  程序代码段/小型指令   <% 程序代码片段 %>

  注释          <%-- 注释 --%>

  编译器指示

  JSP的编译器指示是针对JSP引擎。它们并不会直接产生任何看得见的输出;相反的,它们是在告诉引擎如何处理其它的JSP网页。它们永远包含在 <%@ ?%>卷标里。两个主要的指引是 page与include。我们不会讨论taglib编译器指引但它可以在JSP1.1里用来建立自订卷标。

  你几乎可以在你所有的JSP网页最上面找到page编译器指示。虽然这不是必须的,但它可以让你指定到哪里可以找到支持的Java类别这类的事:

  <%@ page import="java.util.Date" %>, 

  当发生Java问题的事件时应该将讯息传送到哪里:

  <%@ page errorPage="errorPage.jsp" %>, 

  以及你是?需要为使用者管理通话期的信息,可能存取多个网页(稍后在JavaBeans里会有更多通话期的讨论):

  <%@ page session="true" %>。 

 include编译器指示让你将你的内容分成几个可管理的组件,就像那些有表头或脚注的网页。所包含的网页可以是固定格式的HTML网页或者是JSP内容的网页:

  <%@ include file="filename.jsp" %>。

  宣告

  JSP声明让你定义网页层的变量,来储存信息或定义支持的函式,让JSP网页的其余部分能够使用。如果你发现自己有太多的程序代码,你最好将它们放在不同的Java类别里。你可以在 <%! ?%>卷标里找到声明。记住要在变量声明的后面加上分号,就跟任何有效的Java叙述的形式一样: <%! int i=0; %>。

  表达式

  JSP里有表达式,评估表达式的结果可以转换成字符串并且直接使用在输出网页上。JSP运算是属于 <%= ?%> 卷标里,并不包含分号,加引号字符串的无用部分。

  <%= i %>

  <%= "Hello" %> 。

  程序代码段/小型指令文件

  JSP程序代码片段或小型指令文件是包含在<% ?%> 卷标里。当网络服务器接受这段请求时,这段Java程序代码会执行。小型指令文件可以是原始的HTML或XML,其内部的程序代码片段可以让你建立有条件的执行程序代码,或者只是一些使用另一块程序代码的东西。举例来说,下列的程序代码结合了表达式与小型指令文件,在H1,H2,H3,以及H4卷标里显示字符串"Hello"。小型指令文件不限于一行的原始程序代码 :

  <% for (int i=1; i<=4; i++) { %>

  <H<%=i%>>Hello</H<%=i%>>

  <% } %>。

  注释

  最后一个主要JSP组件是嵌入式注释。虽然你可以在你的档案里包含HTML注释,如果使用者检视网页的原始码,他们也会看到这些注释。如果你不要让使用者看到你的批注,你可以将它放在<%-- ?--%>卷标里:

  <%-- 针对服务器端的注释 --%>。

JSP开发入门4   
JSP与JavaBean  
  虽然你可以在小型指令文件里放入一大块的程序代码,但是大多数的Java程序代码是属于可以重复使用的组件,称为JavaBean。JavaBean就跟ActiveX控件一样:它们提供已知的功能,并且是为了可随时重复使用的目的而设计的。

  JavaBean的价值在于它可以经由一组特性来使用,而这些特性则提供对JavaBean设定的存取。以人来作范例,此人就是JavaBean,而他的姓名,社会福利安全号码,以及住址可以是特性。对于JSP网站,基本上你是将'JavaBean'动态的连接到你的网站。

  假设JavaBean是在建立网站之前建好的,你要做的第一件事是告诉JSP网页它所需要使用JavaBean.这工作可以用<jsp:useBean>卷标来完成:<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />.

  <jsp:useBean>卷标需要你以id 属性来辨识豆子.在这里,你提供一个名称让JSP网页来辨识豆子,除了id 属性之外,你也必须告诉网页要到哪里去找这个豆子,或者是它的Java类别名称。类别属性提供如何在各式方法之中找到它,最后一个需要的组件是scope 属性.有了范围属性的帮助,你可以告诉豆子,要它为单一网页(预设)[scope="page"];为一个被请求的网页[scope="request"];为通话期[scope="session"];或为整个应用程序[scope="application"]来维护它自己的信息.对于通话期范围,你可以很容易的维护JSP网页里的项目,例如购物车。

  一但你宣告了JavaBean之后,你就可以存取它的特性来订定它。要取得一特性的值,使用<jsp:getProperty>卷标。有了<jsp:getProperty>卷标,你可以指定要使用的豆子名称(从useBean的id字段),以及你要取得值的特性。接着,真正的值就会放在输出里:<jsp:getProperty id="localName" property="name" />.

  要更改JavaBean的特性,你需要使用<jsp:setProperty>卷标.对这个卷标,你也需要辨认豆子以及要修正的特性,除此之外,你还需要提供新值.如果命名正确,这些可以直接经由规定的格式取得:<jsp:setProperty id="localName" property="*" />; 

  要从一参数取得,你必须直接命名此特性以及参数: <jsp:setProperty id="localName" property="address" param="parameterName" />; 

  或是直接以名称与值来设定: <jsp:setProperty id="localName" property="serialNumber" value="string" /> or <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.

  有关JavaBean的最后一点:要让网络服务器可以找到JavaBean,你需要将它们的类别档案放在特别位置。对JSWDK而言,最简单的地方是在安装目录里的类别目录,例如 jswdk-1.0.1classes.

JSP开发入门5   
JSP的内部对象
  最后一个与JSP语法有关的组件叫做内部对象.在JSP小型指令文件内,你可以存取这些内部对象来与执行JSP网页的servlet环境相互作用。许多对内部对象的存取应该要简化。然而,这些是范例,它们的存取都是可接受的,要完整的利用内部对象设定则需要对最新的Java Servlet API有所了解。

  下表列出你可以使用的内部对象。

  内部对象说明

  request   客户端请求,此请求会包含来自GET/POST请求的参数

  response  网页传回客户端的响应

  pageContext 网页的属性是在这里管理

  session   与请求有关的会话

  application servlet正在执行的内容

  out     用来传送响应的输出流

  config   servlet的架构对象

  page    JSP网页本身

  exception  针对错误网页,未捕捉的例外

  那么,这些是做什么的,而你应该如何使用它们呢?基本上,在你的小型指令文件里,你可以使用它们来存取执行JSP程序代码的servlet。为了避免谈论到太多Servlet API 的细节,让我们来检视一些你可以利用它们来做的事: 

  不必使用表达式,你可以直接存取内部out对象来打印一些东西到response:

  <% out.println("Hello"); %>. 

  不必直接传送参数到JavaBean,你可以藉由请求对象来取得参数的值:

  <% String name=request.getParameter("name"); out.println(name); %>。

  当你以JSP写了许多的应用程序之后,如果你建立了JavaBeans或者发现你自己将太多的Java原始码放入你的JSP档案,你需要建立支持的Java类别,这样可以鼓励重复使用并且降低JSP网页转换时所需要的时间。当你需要建立Java类别时,你必须:

  将JDSWK的安装目录in目录加到你的PATH。在你的autoexec.bat档案的PATH行的最后,加入C:1.2.2in; 。

  以下面的指令将JAR档案复制到jrelibext目录:

  copy c:jswdk-1.0.1libservlet.jar c:jdk1.2.2jrelibext.

(0)

相关推荐

  • jsp Hibernate入门教程第1/3页

    例如: 复制代码 代码如下: HibernateTest.java import onlyfun.caterpillar.*; import net.sf.hibernate.*; import net.sf.hibernate.cfg.*; import java.util.*; public class HibernateTest { public static void main(String[] args) throws HibernateException { SessionFacto

  • JSP经典学习笔记(包含各种入门常用语法)

    本文介绍了JSP经典学习笔记.分享给大家供大家参考.具体如下: JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例--JSP页面有系统编译成Servlet,Servlet再负责响应用户请求. 1.JSP注释 <%--注释内容--%> ,与HTML注释<!--注释内容-->不同的是,编译后的HTML页面无法查看到JSP注释内容. 2.JSP声明 JSP声明用于声明变量和方法.JSP声明将会转换成Servlet中的成员变量或成员方法,因此,JSP声明依然符合

  • JSP开发入门(四)--JSP的内部对象

    最后一个与JSP语法有关的组件叫做内部对象.在JSP小型指令文件内,你可以存取这些内部对象来与执行JSP网页的servlet环境相互作用.许多对内部对象的存取应该要简化.然而,这些是范例,它们的存取都是可接受的,要完整的利用内部对象设定则需要对最新的Java Servlet API有所了解. 下表列出你可以使用的内部对象. 内部对象说明 request 客户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回客户端的响应 pageContext 网页的属性是在这里管理

  • JSP开发入门(一)--安装好你的机器来使用JSP

    JSP开发入门(一)----安装好你的机器来使用JSP 你将会需要Java 2软件开发工具(JSDK),它原来的名称是Java发展工具(JDK)以及JavaServer网站发展工具(JSWDK),Tomcat,或是其它支持JSP的网络服务器.Sun免费提供JSDK与JSWDK来供Windows,Solaris,以及Linux平台使用. 如果你想要在你目前的网络服务器上使用JSP,但服务器本身并不支持JSP与Java servlets,你可以试试看Allaire的Jrun,它的作用就像是针对Net

  • JSP迅速入门

    JavaServer Pages (JSP) 是一种以 Java为主的跨平台web开发语言. JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript.当你所使用的网站服务器没有提供本地ASP支持,也就是Apache或Netscape服务器时,你可以考虑使用JSP.虽然你可以取得这些服务器的ASP附加配备模块,但价格相当昂贵,而目前Sun并没有对你所需要的JSP组件收取费用(虽然Sun未来有可能会收费).对于Solari

  • 几则JSP入门知识总结

    从去年9月份,我就开始着手学JSP,以前也只有一点程序的意识,一路上摸索过来,经过了很多磨难,终于有一天,我就像一个旱鸭子学会游泳一样,心里无比高兴,熬了几天夜,终于写成了这个纯JSP的文章发布程序. 相信下面的几则小知识对向我这样水平的菜鸟有一定的帮助! ============================================================================== 1.传递表单参数: String name = new String(request

  • JSP入门之HelloWorld程序实例

    本文实例讲述了JSP入门之HelloWorld程序.分享给大家供大家参考,具体如下: 这里讲述第一个JSP-HelloWorld!每一次的"初恋"都带着神秘感,揭开JSP神秘的面纱! JSP也是j2ee的一个规范. JSP(java  service Page),是由sun公司倡导.许多公司参与一起建立的动态网页技术标准. JSP与html的区别是在网页中嵌入java代码和JSP标记,形成.jsp的文件. JSP开发的web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运

  • 通用JSP页面 jsp入门级文章

    1,common.jsp 复制代码 代码如下: <%@ taglib uri="/WEB-INF/resource/struts-logic.tld" prefix="logic"%> <%@ taglib uri="/WEB-INF/resource/struts-bean.tld" prefix="bean"%> <%@ taglib uri="/WEB-INF/resource/s

  • JSP开发入门(五)--JSP其他相关资源

    JSP其他相关资源: Servlets and JavaServer Pages (JSP) 1.0: A Tutorial http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/ JavaServer PagesTM: A Developer's Perspective http://developer.java.sun.com/developer/technicalArticles/Programming/jsp/ JAVASERVER PAG

  • JSP开发入门(二)----JSP语法的基本原理

    安装之后,接下来我们要讨论JSP的语法.如果要偷懒,你可以下载语法卡而如果你不熟悉 Java的程序设计,你可能会想要参考Sun的使用手册:然而,网站建立者不应该做太多的Java发展.除了几个函式呼叫之外,出现在你JSP网页上的Java程序代码应该将它减到最少; 记住这点之后,现在让我们先来看看JSP的编译器指引与指令组件,之后我们将解释JavaBeans与内部对象. JSP编译器指引与指令组件有五种型态.JSP 1.0之后,大部分的JSP是包含在以<% 作为开始%>作为结束的单一卷标里.新的

  • JSP自定义标签入门学习

    本文为大家分享了JSP自定义标签入门学习教程,希望大家喜欢. 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作.JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面. JSP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记.你可以继承SimpleTagSupport类

  • JSP开发入门(三)--JSP与JavaBean

    虽然你可以在小型指令文件里放入一大块的程序代码,但是大多数的Java程序代码是属于可以重复使用的组件,称为JavaBean.JavaBean就跟ActiveX控件一样:它们提供已知的功能,并且是为了可随时重复使用的目的而设计的. JavaBean的价值在于它可以经由一组特性来使用,而这些特性则提供对JavaBean设定的存取.以人来作范例,此人就是JavaBean,而他的姓名,社会福利安全号码,以及住址可以是特性.对于JSP网站,基本上你是将'JavaBean'动态的连接到你的网站. 假设Jav

随机推荐