创建JSP站点

80酷酷网    80kuku.com

  js|创建|站点现在可以使用所有这些JSP语法了。我们将创建一个Web页面,它有一个输入表单,用户可以输入一个股票代号以获得出当前股票价格(有20分钟延迟)。如果输入有误,则显示错误提示页面。



quote.jsp

首先,用以下代码创建quote.jsp页面并将其保存在JSWDK安装目录下的Web 目录中。大多数的页面是含JSP代码的标准HTML。第六行是一个页面指令,表明将把所有错误发送到“errorPage.jsp”文中。第13到15行是一个脚本段,主要说明仅当有“symbol”参数时才显示表格。“if”代码段在32到34行结束。第17行定义了所用的JavaBean,第18行根据参数加载其符号属性。第27行到29行显示bean的属性。除了"if"段,实际上并不涉及其它Java代码。

<html>

<head>

<title>Stock Quotes</title>

</head>

<body>

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

<form action="quote.jsp"

method="GET"> <p>Enter Symbol: <input size="20" name="symbol"><input

type="submit" value="Submit"></p>

</form>

<%

if (request.getParameter("symbol") != null) {

%>

<jsp:useBean id="quotes" scope="page" class="com.jguru.Quotes" />

<jsp:setProperty name="quotes" property="*" />

<table border="1">

<tr>

<th align="left">Symbol</th>

<th align="left">Name</th>

<th align="left">Price</th>

</tr>

<tr>

<td><jsp:getProperty name="quotes" property="symbol" /></td>

<td><jsp:getProperty name="quotes" property="name" /></td>

<td><jsp:getProperty name="quotes" property="price" /></td>

</tr>

</table>

<%

}

%>

</body>

</html>

errorPage.jsp



下一步,将下面的JSP源代码保存到Web页面目录中的“errorPage.jsp”文件中。提示“this is an error page”为第一行,它将页面指令isErrorPage属性设置为真。上一页面说明了错误网页的位置,本页则说明这就是错误网页。JSP文件中的其它JSP专用代码用来访问隐含例外对象。页面只显示其值:

<% page isErrorPage="true" %>

<html>

<head>

<title>Error Page</title>

</head>

<body>

<h1>Our Error Page</h1></font>

<!-- Print Exception -->

We got ourselves an exception:

<%= exception %>

<a href="quote.jsp">Restart</a>

</body>

</html>

Quotes.java

Quotes JavaBean 通过Yahoo资源获取股票价格。需将源代码Quotes.java保存到JSWDK安装目录下“classes\com\jguru”目录中的“quotes.java”文件中。从这一步起,将由JSDK中的Javac编译器来编译它。

package com.jguru;

import java.util.*;

import java.net.*;

import java.io.*;

public class Quotes {

String symbol;

String name;

String price;

public void setSymbol(String symbol) {

this.symbol = symbol;

getSymbolValue(symbol);

}

public String getSymbol() {

return symbol;

}

public String getName() {

return name;

}

public String getPrice() {

return price;

}

private void getSymbolValue(String symbol) {

String urlString =

"http://quote.yahoo.com/download/javasoft.beans?SYMBOLS=" +

symbol + "&format=nl";

try {

URL url = new URL(urlString);

URLConnection con = url.openConnection();

InputStream is = con.getInputStream();

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

String line = br.readLine();

StringTokenizer tokenizer = new StringTokenizer(line,",");

name = tokenizer.nextToken();

name = name.substring(1, name.length()-2); // remove quotes

price = tokenizer.nextToken();

price = price.substring(1, price.length()-2); // remove quotes

} catch (IOException exception) {

System.err.println("IOException: " + exception);

}

}

}

当创建了这两个JSP文件,以及建立了JavaBean源代码文件并将其编译后,你就可以从http://localhost:8080/quote.jsp装载“quote.jsp”文件以查看结果(假设你没有更改JSWDK设置以使用不同的端口)。这个页面当然可以做得更加漂亮,但它的确已经达到了预定目的,同时很好地演示了JSP的功能。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: