首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:资料 参考手册 服务器
 → 当前位置:首页>编程开发>其他编程>正文

JSP开发入门

OKLinux www.oklinux.cn 2006-09-07 来源:oklinux收集整理 会员收藏 游客收藏

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>

  

Today is:

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

  



  </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.
上一篇:如何用正确的方法来写出质量好的软件的75条体会   下一篇:在任意字符集下正常显示网页的方法

收藏于收藏夹】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·Tomcat JSP经典配置实例
·基于JSP技术的网络教学平台设计
·JSP单页面网站文件管理器
·浅析JSP开发中的对象和范围属性
·JSP应用语法详解大全 (1)
·JSP应用语法详解大全 (2)
·JSP应用语法详解大全 (3)
·介绍几种Linux下快被人们忽略的编程语言
·基于Eclipse的红帽开发者工作站beta版发布
·Linux程序设计入门 系统进程的详细介绍
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
·JSP应用语法详解大全 (2
·Linux程序设计入门 系统进
·浅析JSP开发中的对象和范
·JSP应用语法详解大全 (1
·Tomcat JSP经典配置实例
·JSP单页面网站文件管理器
·JSP应用语法详解大全 (3
·基于Eclipse的红帽开发者
·开源空间 网络安全工具开
·Linux系统安装Monodevelop
最新文章
·Linux系统中BSD套接口开发
·开源空间 网络安全工具开
·在Linux操作系统下共享库
·Linux系统安装Monodevelop
·Linux程序设计入门 系统进
·基于Eclipse的红帽开发者
·介绍几种Linux下快被人们
·JSP应用语法详解大全 (3
·JSP应用语法详解大全 (2
·JSP应用语法详解大全 (1
·浅析JSP开发中的对象和范
·JSP单页面网站文件管理器
·基于JSP技术的网络教学平
·Tomcat JSP经典配置实例

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有