明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

創(chuàng)建JSP網(wǎng)站

[摘要]現(xiàn)在可以使用所有這些JSP語法了。我們將創(chuàng)建一個Web頁面,它有一個輸入表單,用戶可以輸入一個股票代號以獲得出當前股票價格(有20分鐘延遲)。如果輸入有誤,則顯示錯誤提示頁面。 quote.jsp...
現(xiàn)在可以使用所有這些JSP語法了。我們將創(chuàng)建一個Web頁面,它有一個輸入表單,用戶可以輸入一個股票代號以獲得出當前股票價格(有20分鐘延遲)。如果輸入有誤,則顯示錯誤提示頁面。



quote.jsp

首先,用以下代碼創(chuàng)建quote.jsp頁面并將其保存在JSWDK安裝目錄下的Web 目錄中。大多數(shù)的頁面是含JSP代碼的標準HTML。第六行是一個頁面指令,表明將把所有錯誤發(fā)送到“errorPage.jsp”文中。第13到15行是一個腳本段,主要說明僅當有“symbol”參數(shù)時才顯示表格!癷f”代碼段在32到34行結束。第17行定義了所用的JavaBean,第18行根據(jù)參數(shù)加載其符號屬性。第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>



<%

}

%>

</body>

</html>

errorPage.jsp



下一步,將下面的JSP源代碼保存到Web頁面目錄中的“errorPage.jsp”文件中。提示“this is an error page”為第一行,它將頁面指令isErrorPage屬性設置為真。上一頁面說明了錯誤網(wǎng)頁的位置,本頁則說明這就是錯誤網(wǎng)頁。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);

}

}

}

當創(chuàng)建了這兩個JSP文件,以及建立了JavaBean源代碼文件并將其編譯后,你就可以從http://localhost:8080/quote.jsp裝載“quote.jsp”文件以查看結果(假設你沒有更改JSWDK設置以使用不同的端口)。這個頁面當然可以做得更加漂亮,但它的確已經(jīng)達到了預定目的,同時很好地演示了JSP的功能。