建立JSP網站

來源:互聯網
上載者:User
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的功能。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.