专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » jsp实例:用JSP建立实例网站 »正文

jsp实例:用JSP建立实例网站

来源: 发布时间:星期四, 2009年2月12日 浏览:237次 评论:0


JavaServer Page(JSP)是种基于Java技术用于生成动态网页支持跨平台、跨Web服务器

JSP可以和MicrosoftActive Server Page相比但它使用类似HTML标记以及Java代码片段来代替VBScript如果你 使用本身不支持ASPWeb服务器(即Apache或Netscape服务器)那么可以考虑JSP你也可以为这些服务器购买ASP插 入模块但是很贵而且现在Sun还不对使用JSP收取许可费(尽管将来有可能会收)Solaris、Linux以及 Windows这些组件也非常容易获得

不要把JSP和服务器端JavaScript弄混Web服务器可以自动地把由JSP生成Java代码段转换成Java ServletJSP还 可以自动控制以前用Perl脚本或服务器专用API(如ASP)手工编写许多功能

现在我们将带你入门并帮你创建个使用JSP举例站点

. 让计算机做好采用JSP准备

你需要个Java 2 Software Development Kit(JSDK)它以前被称为Java Development Kit(JDK)你还需要 JavaServer Web Development Kit (JSWDK)、Tomcat或其他支持JSPWeb服务器Sun免费提供Windows、Solaris和 Linux等操作系统JSDK和JSWDK

如果你想在你现有Web服务器使用JSP而这个Web服务器本身不支持JSP和Java servlet试AllaireJrun它 可以作为NetscapeEnterprise和FastTrack Server、MicrosoftInternet Information Server(IIS)和Personal Web Server(PWS)、Apache以及其他些服务器插件你还可以使用Apache Web服务器Java版本它包含在最新 JSWDK中

下载并安装软件Software
目前JSDK1.2.2-001版本是个可下载安装归档文件这个大约20MB下载软件Software提供了个完整Java开发环 境它可以让你创建任何使用标准核心API基于Java解决方案不过Web服务器使用JSP时唯要做就是访 问Java编译器为了告诉Web服务器编译器位置需要将环境变量JAVA_HOME设置为指向JSDK安装目录如果你已 在Windows上安装并选择了缺省目录则应在autoexec.bat文件中加入“ JAVA_HOME=C:1.2.2”然后重新启 动计算机

在安装了JSDK后下载并安装JSWDK或基于JavaApache Web服务器??beta版Tomcat你把它放在哪里都可以只 要你能再找到它般来说它被放在最高目录中这样你就可以替换JSWDK或JSDK版本而不需要移动另 个了在安装了这个文件后你就可以进行JSP开发了

正确安装了JSWDK后运行startserver命令启动Web服务器缺省情况下它在8080端口侦听要检查安装是否正确 你可以在启动服务器的后加载个JSP举例文件(http://localhost:8080/examples/jsp/)如果你可以成功地运行示 例文件这介绍说明你安装是正确但是如果在用来启动服务器控制台窗口中显示了信息那么你就需要解决这 个问题最常出现问题是没有设置(或没有正确设置)JAVA_HOME环境变量要查看当前环境变量设置可以在DOS 命令提示符下输入“”命令

开始使用
在解释JSP语法的前先创建个显示当前日期和时间Web页面并保存为sample.jsp

<html>
<head>
<title>First Page</title>
</head>
<body>
<H3>Today is:
<%= java.util.Date %>
</H3>
</body>
</html>

把这个文件和你所有HTML和JSP页面放进JSWDK安装目录下Web页面目录中你可以在http://localhost:8080/ sample.jsp中加载这个页面在这个页面第次被访问时Web服务器把JSP翻译成Java servlet这样你就可以看到系 统当前日期和时间现在在下载、安装和配置了开发环境的后你可以去学习JSP语法并创建自己基于JSP解决 方案了

2.JSP语法基础

在完成了安装的后我们来看看JSP语法为了方便学习你可以下载个语法卡但是Web开发人员般不应做 过多Java开发工作除了几个思路方法JSP Web页面中Java代码应该是很少

知道了这些的后我们先来看看JSP指示符和脚本元素然后再解释下JavaBean和JSP隐含对象共有 5种JSP指示 符和脚本元素在JSP 1.0中大多数JSP是包含在由“<%”开始由“%>”结束标记中在更新JSP 1.1规范标准 中还有符合XML要求版本

JSP指示符和脚本元素 指示符 <%@ direcive %>
声明 <%! declaration %>
表达式 <%= expression %>
代码段/ Scriptlet <% code fragment %>
注释 <%-- comment --%>

指示符
JSP指示符供JSP引擎使用它们不产生任何可见输出而是告诉引擎如何处理JSP页面其它部分它们总是包含 在<%@ ?%>标签中两个主要指示符是page和在这里不讨论Taglib指示符在JSP 1.1中Taglib可以用来 创建自定义标记 你几乎可以在差不多所有JSP页面顶部找到Page指示符尽管不是必需但它可以让你做些设 置如到哪里查找支持Java类:

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

在出现运行时间Java问题时把浏览者引入哪个页面:

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

以及是否需要在会话级别上管理用户信息这有可能需要跨载多个Web页面(更多信息将在后面JavaBean会话中讲 到):

<%@ page session=\"true\" %> 指示符让你把内容分割成更多可管理元素例如某些元素就用于引用共用页 眉和页脚引用页面可以是固定HTML页也可以是更多JSP内容:

<%@ file=\"filename.jsp\" %>

声明
JSP声明可以定义页面级变量来保存信息或者是定义JSP页面其它部分需要思路方法如果你发现引用了太多代 码通常使用个单独Java类会更好声明写在<%! ?%>标记中由于任何内容都必须是合法Java语句因此变量 声明总是用分号来结束:<%! i=0; %>

表达式


在JSP表达式中表达式结果被转换成串并被直接引用到输出页面中JSP表达式包含在<%= ?%>标记中表 达式不需要分号除非分号是作为引号中部分

<%= i %>

<%= \"Hello\" %>

代码段/Scriptlet
JSP代码段或Scriptlet包含在<% ?%>标记中这些Java代码在Web服务器接收请求时运行在Scriptlet周围是原始 HTML或XML代码段可以让你创建有条件可执行代码或者是创建使用另外段代码元素例如下面这段在 H1、H2、H3和H4标记中显示串“Hello”代码就结合了表达式和scriptlet使用Scriptlet并不限制在行 源代码中:

<% for ( i=1; i<=4; i) { %>
<H<%=i%>>Hello</H<%=i%>>
<% } %>

注释
最后这个JSP关键元素是注释尽管你总是可以在文件中使用HTML注释但如果用户查看页面源文件他们就可以看 到这些注释如果你不想让用户看到你注释你就需要把它们写在<%-- ?--%>标记里:

<%-- comment for server side _disibledevent=>
标记需要你用id属性来确定粒媒在这里你用名字来确定处于JSP页面其它部分粒媒除了id属性你还要告诉页 面到哪里去找粒媒或粒媒Java类名

JavaBean属性具有这功能除此的外还有其他几种确定粒媒思路方法最后所需要是scope属性使用 scope属性你可以告诉粒媒为这个单独页面保存信息(缺省设置)[scope=\"page\"];为这次请求保存信息 [scope=\"request\"];为这次会话过程保存信息[scope=\"session\"];或是为整个应用保存信息 [scope=\"application\"]把scope设为“session”你可以在JSP页面中轻松地保存诸如购物车的类内容

在你声明了个JavaBean的后你就可以访问它属性来进行定制你可以使用<jsp:getProperty>标记来得到个属 性在使用<jsp:getProperty>标记时你需要指定要使用粒媒名称(使用useBeanid域)以及要取值属性 然后所需要实际值就会被放到输出中:

<jsp:getProperty id=\"localName\" property=\"name\" />.

改变JavaBean属性需要使用<jsp:Property>标记使用这个标记时你还需要要确定粒媒和属性以便修改另 外你还需要提供新如果你给出名字是正确这些信息就可以从个提交表单直接获得:

<jsp:Property id=\"localName\" property=\"*\" />

或者是从参数获取在参数里你需要直接给出属性和参数名字:

<jsp:Property id=\"localName\" property=\"address\" param=\"parameterName\" />

或者你也可以直接用名字和值进行设置:

<jsp:Property id=\"localName\" property=\"serialNumber\" value=\"\" />

或<jsp:Property id=\"localName\" property=\"serialNumber\" value= <%= expression %> />.

最后为了让Web服务器找到JavaBean你需要把它们类文件放在个特殊地方如果使用JSWDK则最简便地方 就是安装目录下es”目录如jswdk-1.0.1es

4.JSP隐含对象

隐含对象是和JSP语法相关最后个元素在JSP scriptlet里你可以访问这些隐含对象以和JSP页面执行 servlet环境交互操作很多对隐含对象访问都应减至最少然而也存在可以接受访问情况为了充分地使用隐 含对象组需要对最新Java Servlet API有定了解

下面表里列出就是可用隐含对象组

隐含对象介绍说明

request 客户端请求包含GET/POST请求参数
response 页面对客户端响应
pageContext 页面属性在此处管理
session 和请求有关会话
application servlet运行环境
out 用来发送响应输出流
config servlet配置对象
page JSP页面本身
exception 用于页面(未被捕获意外情况)

那么这些都是干什么用你又如何去使用它们呢?从根本上来讲你可以在scriplet中使用它们访问执行JSP代码 servlet不用去过多地了解Servlet API细节我们看看用它们可以做些事情就够了:

你可以不使用表达式而直接访问out隐含对象来向response对象输出内容:
<% out.prln(\"Hello\"); %>

你也可以不直接向JavaBean发送参数而从request对象得到参数值:
<% String name=request.getParameter(\"name\"); out.prln(name); %>

在进行了更多JSP开发后如果你创建了JavaBean或发现在JSP文件中放入了太多Java源代码你就需要建立支持 Java类??Java类便于重用JSP页面并减少了JSP页面转化时间当你需要建立Java类文件时你必须:

1.在PATH中加入JDSWK安装in目录在autoexec.bat文件PATH行行尾处加上“C:1.2.2in;”
2.使用下面命令向jrelibext目录拷贝JAR文件: copy c:jswdk-1.0.1libservlet.jar c:jdk1.2.2jrelibext.
建立个JSP站点

现在是使用所有这些JSP语法时候了我们将建立个Web页面页面上有个让用户输入股票代码并得到当前股价 ( 2十分钟以前价格)表格如果有将会显示提示页面

quote.jsp
首先用这些代码建立个quote.jsp页面把它保存到JSWDK安装目录下Web页面目录中页面大部分都是标准 HTML语言其中散布着些JSP代码第6行是个页面指示符它介绍说明把任何都发送到errorPage.jsp文件13到 15行是段scriptlet大致是说只有在“symbol”参数存在时才显示表格这个结构在32至34行结束17行定义了 要使用JavaBean18行从参数加载它symbol属性27至29行只显示粒媒属性除了结构实际上这里就不再涉 及什么Java编码问题了



errorPage.jsp
向Web页面目录下errorPage.jsp文件保存下面这段JSP源代码行介绍说明了本页面是提示页面 它把page指示符isErrorPage属性设置为true个page指出了页面在哪儿而这个page则声明它自己就是错 误提示页面这个JSP文件仅有处JSP代码用于访问隐含对象exception该页面只是显示了exception对象值:

<%@ page isErrorPage=\"true\" %>
<html>
<head>
<title>Error Page</title>
</head>
<body>
<h1>Our Error Page</h1></font>
<!-- Pr Exception -->
We got ourselves an exception:
<%= exception %>
<a href=\"quote.jsp\">Restart</a>
</body>
</html>

Quotes.java
Quotes JavaBean使用Yahoo资源来得到股票价格源代码要保存在JSWDK安装目录下escomjguru目录 quotes.java文件里在该目录下用JSDK中javac编译器对它进行编译

5.你个JSP页面
假设你并没有改变JSWDK安装设置去使用另个端口那么在你建立了这两个JSP文件而且建立了JavaBean源文件并 对它进行了编译的后你就可以在http://localhost:8080/quote.jsp打开quote.jsp文件来查看结果这个页面肯定算 不上美观但是它实现了自身功能是展示JSP功能个不错范例  
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: