快速入門JSP實例分析

1) JSP(JavaServer Pages)簡介:在當今世界,流行的Internet應用程序開發主要有:ASP,PHP,CGI,JSP……等多種方案,技術上各有優缺點,可是 JSP以其簡單易學,跨平臺的特性,在衆多程序中獨樹一幟,在短短几年中已經造成了一套完整的規範,並普遍的應用於電子商務等各個領域中。在國內JSP如今也獲得了比較普遍的重視。html

2)如何才能快速掌握JSP:JSP其實是JSP定義的一些標記和JAVA程序段,以及HTML文件的混合體。因此,若是要掌握JSP首先必須對HTML有必定的瞭解(否則怎麼設計網頁),而後,也必須有JAVA程序的基礎(要知道JSP是基於JAVA語言的),最後就是對JSP標識的一些必要的瞭解(它使你知道如何用JAVA語言及HTML組合成完整的JSP),而此篇文章咱們在這裏主要是對JSP標識及語法規則進行介紹。因此最好對HTML及JAVA語言有一點了解,若是沒有學過也沒有關係,下面的介紹會讓你對JSP有一個比較直觀的瞭解。java

3) 體會簡單易學的JSP:JSP簡單而易學,若是你有了HTML的基礎,要學會就很容易的了,不信?先拿一段JSP程序給你看看吧(簡單而經典的HelloWord.jsp):express


< %page language="java"% >
< HTML>
< head >
< title>Hello World!< /title>
< /head>
< body bgcolor="#FFFFFF">
< %String msg="JSP Example";
//定義字符串對象
out.println("Hello World!");
%>
< %=msg%> < !-顯示變量值- >
< /body>
< /HTML>apache


運行以後,在窗口上的輸出字符串Hello World! JSP Example,怎麼樣,一看就懂了吧,的確很簡單的,除去"< %% >"標識,其餘的都是普通的超文本,若是你有了超文本的基礎,一看便知道了;不過他和超文本仍是有了一點區別,那就是加入了"< %% >"標識,標識之中使用的是JAVA程序,由它來控制動態數據的顯示的,並直接輸出到標識符所嵌入的位置,整個結構顯得至關的直觀,之後若是頁面發生了變化,修改也變得十分的容易。至於程序第一行的標識,咱們暫時能夠沒必要管他,在後面,咱們會對這類語法作相應的介紹。編程

看了上面的 JSP程序,你對JSP應該也有了一點了解了吧,是的,學習JSP是並非一件難事,並且之後,你會愈加感覺到JSP的優點,他的跨平臺特性在 Internet開發程序中可謂是獨樹一幟,由於JSP技術是構建於JAVA語言之上的,他的不少特性和應用都來自JAVA語言,因此若是你要學好 JSP,須要有JAVA編程的基礎(關於JAVA語言,我這裏就很少介紹了,能夠參看相應的書籍,向你們推薦:《JAVA2程序設計》(清華大學出版社))瀏覽器

4) JSP從頭作起:tomcat

a) 從www.java.sun.com下載JDK(JAVA開發工具包),並安裝,現假設爲c:\jdk1.3 b) 組建JSP運行環境:要使JSP運行起來首先要建造JSP運行環境。如今咱們經常使用到的應用程序服務器軟件主要有WebLogic Application Server,Apache Tomcat,Allarie Jrun。WebLogic是如今市場上佔有率最高的一種服務器軟件,功能強大,配置也很簡單,做爲商業應用的服務器是很好的選擇,不過做爲初學應用,建議仍是不要的好,由於這是商業軟件須要購買。服務器

Jrun是由Allarie公司開發的服務器軟件,也有比較高的聲譽,和WebLogic同樣也是很好的選擇,也是商業軟件。初學,Tomcat即是你最好的選擇,他是一個免費的服務器軟件,並且他的源代碼能夠免費得到,當你對它有深刻的瞭解以後,能夠自由的對他進行擴充,以適應你本身的須要,雖然配置麻煩了一點,但以上的這麼多優勢,它是咱們當之無愧的最佳選擇。下面咱們就以Tomcat爲實例,向你們介紹win2000下JSP環境的配置:session

1) 首先,從apache網站(http://java.apache.org)上下載Tomcat,下載的是一個.zip文件(jakarta-tomcat.zip),把它解壓到你的目錄下面,假設爲c:\tomcat。多線程

2)進入tomcat的目錄裏,找到startup.bat文件,打開編輯。在行call tomcat start的前面加上兩行: SET TOMCAT_HOME=c:\tomcat 和 SET JAVA_HOME=c:\jdk1.3 注:c:\jdk1.3是jdk1.3安裝的位置。

3)而後鼠標右鍵點擊"個人電腦",選擇屬性。在系統屬性中打開高級選項,點擊"環境變量",在"用戶變量"和"系統變量"中都加入兩個變量 classpath和path,它們的值是:classpath的值  c:\jdk1.3\bin\tools.jar;C:\jdk1.3\lib\ dt.jar path的值爲 c:\jdk1.3\bin;c:\jdk1.3

4) 執行jakarta-tomcat\bin\startup.bat,會看到一個打開的Tocmat啓動窗口,

5) 打開瀏覽器,輸入:http://localhost:8080,回車就能夠看到TOMCAT的主頁面了

b) JSP的基本語法簡介:

i. 註釋語句:"< %-- comment --% >"在編譯的時候將跳過此標識;

ii. 插入一個有效的程序段 :< % code % >

iii. 定義JSP文件中的全局屬性:


< %@ page
[ language="java" ]
//聲明腳本語言的種類
[ extends="package.class" ]
//標明JSP編譯時須要加入的Java Class的全名,
可是得慎重的使用它,它會限制JSP的編譯能力.
[ import="{package.class / package.*}, ..." ]
//須要導入的Java包的列表
[ session="true / false" ]
//設定客戶是否須要HTTP Session
[ buffer="none / 8kb / sizekb" ]
//buffer的大小被out對象用於處理
執行後的JSP對客戶瀏覽器的輸出
[ autoFlush="true / false" ]
//設置若是buffer溢出,是否須要強制輸出,
若是其值被定義爲true(缺省值),輸出正常,
若是它被設置爲false,若是這個buffer溢出,
就會致使一個意外錯誤的發生.若是你把buffer設置爲none,
那麼你就不能把autoFlush設置爲false.
[ isThreadSafe="true / false" ] //設置Jsp文件是否能多線程使用。缺省值是true,也就是說,
JSP可以同時處理多個用戶的請求,若是設置爲false,
一個jsp只能一次處理一個請求
[ info="text" ]
//一個文本在執行JSP將會被逐字加入JSP中,
你可以使用Servlet.getServletInfo方法取回。
[ errorPage="relativeURL" ]
//設置此頁是否爲出錯頁,
若是被設置爲true,你就能使用exception對象
[ contentType="mimeType
[ ;charset=characterSet ]"
/ "text/html ; charset=ISO-8859-1" ]
//設置MIME類型 。缺省MIME 類型是: text/html,
缺省字符集爲 ISO-8859-1
[ isErrorPage="true / false" ] %>

iv. 包含一個文件:

"< %@ include file="relativeURL" %> "

在編譯的時候能夠(靜態的)插入文件;

v. 包含一個表達式:

"< %= expression %>"

在運行的時候顯示的是表達式的值;

vi. 申明變量:


" < %! declaration;
[ declaration; ]+ .. % >";


"< %!int I;% >"

vii. 建立一個Bean實例並設置其屬性:"";class屬性:從一個class中示例一個對象;id屬性:指示此class對象的引用名;scope屬性: Bean存在的範圍以及id變量名的有效範圍,若是爲page則只在此頁面類有效(下次調用該頁面時時將從新建立class對象);如爲session則在session有效期類,此class對象只建立一次;如爲Application則class在整個程序運行工程中始終有效,而且只建立一次(至關於靜態量)

d) Tomcat的JSP例程介紹:


< !-- Copyright (c)
1999 The Apache Software
Foundation. All rights
reserved.
Number Guess Game
Written by Jason Hunter
< jasonh@kasoftware.com>,
CTO, K&A Software
http://www.servlets.com ;
< %@ page import = "num.NumberGuessBean" %>
< ! -導入的Java包- >
< jsp:useBean id="numguess"
class="num.NumberGuessBean"
scope="session"/ >
< ! -建立對象並設置其應用名爲numguess
並申明此對象在session有效期內始終有效
< html>
< head>
< title>Number Guess< /title>
< /head>
< body bgcolor="white">
< font size=4>
< % if (numguess.getSuccess())
{
%>
//調用NumberGuessBean對象的getSuccess方法
Congratulations!
You got it.
And after just
< %= numguess.getNumGuesses()%>
tries.< p>
< % numguess.reset(); %>
Care to < a href="numguess.jsp">try again?
< % } else if (numguess.getNumGuesses() == 0)
{
%> Welcome to the Number Guess game.
I'm thinking of a number between 1 and 100.
< form method=get>
What's your guess?
< input type=text name=guess>
< input type=submit value="Submit">
< /form>
< % } else { %>//
Good guess, but nope. Try < b>
< %= numguess.getHint() %>< /b>.
You have made < %= numguess.getNumGuesses()
%> guesses.< p>
I'm thinking of a number between 1 and 100.
< form method=get> What's your guess?
< input type=text name=guess>
< input type=submit value="Submit">
< /form> < % } %>
< /font>
< /body>
< /html>


從例子咱們能夠看到,JSP是經過程序的邏輯來控制頁面的顯示的,經過程序來獲得顯示的動態屬性。

相關文章
相關標籤/搜索