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的功能。
本文作者:John Zukowski是jGuru.com软件方面的领袖及培训主管。此外,他还是系列Java书籍及大量Java相关技术文档的作者。
