JSP入門

來源:互聯網
上載者:User
js 1) JSP(JavaServer Pages)簡介:在當今世界,流行的Internet應用程式開發主要有:ASP,PHP,CGI,JSP……等多種方案,技術上各有優缺點,但是JSP以其簡單易學,跨平台的特性,在眾多程式中獨樹一幟,在短短几年中已經形成了一套完整的規範,並廣泛的應用於電子商務等各個領域中。在國內JSP現在也得到了比較廣泛的重視
  2) 如何才能快速掌握JSP:JSP實際上是JSP定義的一些標記和JAVA程式段,以及HTML檔案的混合體。所以,如果要掌握JSP首先必須對HTML有一定的瞭解(不然怎麼設計網頁),然後,也必須有JAVA程式的基礎(要知道JSP是基於JAVA語言的),最後就是對JSP標識的一些必要的瞭解(它使你知道如何用JAVA語言及HTML組合成完整的JSP),而此篇文章我們在這裡主要是對JSP標識及文法規則進行介紹。所以最好對HTML及JAVA語言有一點瞭解,如果沒有學過也沒有關係,下面的介紹會讓你對JSP有一個比較直觀的瞭解。
  3) 體會簡單易學的JSP:JSP簡單而易學,如果你有了HTML的基礎,要學會就很容易的了,不信?先拿一段JSP程式給你看看吧(簡單而經典的HelloWord.jsp):
  < %page language="java"% >
  < HTML>
  < head >
  < title>Hello World!< /title>
  < /head>
  < body bgcolor="#FFFFFF">
  < %String msg="JSP Example";//定義字串對象
  out.println("Hello World!"); %>
  < %=msg%> < !-顯示變數值- >
  < /body>
  < /HTML>
  運行之後,在視窗上的輸出字串Hello World! JSP Example,怎麼樣,一看就懂了吧,的確很簡單的,除去"< %% >"標識,其他的都是普通的超文本,如果你有了超文本的基礎,一看便知道了;不過他和超文本還是有了一點區別,那就是加入了"< %% >"標識,標識之中使用的是JAVA程式,由它來控制動態資料的顯示的,並直接輸出到標識符所嵌入的位置,整個結構顯得相當的直觀,以後如果頁面發生了變化,修改也變得十分的容易。至於程式第一行的標識,我們暫時可以不必管他,在後面,我們會對這類文法做相應的介紹。
  看了上面的JSP程式,你對JSP應該也有了一點瞭解了吧,是的,學習JSP是並不是一件難事,而且以後,你會越發感受到JSP的優勢,他的跨平台特性在Internet開發程式中可謂是獨樹一幟,因為JSP技術是構建於JAVA語言之上的,他的很多特性和應用都來自JAVA語言,所以如果你要學好JSP,需要有JAVA編程的基礎(關於JAVA語言,我這裡就不多介紹了,可以參看相應的書籍,向大家推薦:《JAVA2程式設計》(清華大學出版社))
  4) JSP從頭做起:
  a) 從www.java.sun.com下載JDK(JAVA開發套件),並安裝,現假設為c:\jdk1.3 b) 組建JSP運行  環境:要使JSP運行起來首先要建造JSP運行環境。
  現在我們常用到的應用程式伺服器軟體主要有WebLogic Application Server,Apache Tomcat,Allarie Jrun。WebLogic是現在市場上佔有率最高的一種伺服器軟體,功能強大,配置也很簡單,作為商業應用的伺服器是很好的選擇,不過作為初學應用,建議還是不要的好,因為這是商業軟體,需要money的。Jrun是由Allarie公司開發的伺服器軟體,也有比較高的聲譽,和WebLogic一樣也是很好的選擇,也是商業軟體。初學,還是找個便宜點(最好是不要錢的:)),Tomcat便是你最好的選擇,他是一個免費的伺服器軟體,而且他的原始碼可以免費獲得,當你對它有深入的瞭解之後,可以自由的對他進行擴充,以適應你自己的需要,雖然配置麻煩了一點,但以上的這麼多優點,它是我們當之無愧的最佳選擇。下面我們就以Tomcat為執行個體,向大家介紹win2000下JSP環境的配置:
  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的首頁面了
  c) 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是通過程式的邏輯來控制頁面的顯示的,通過程式來得到顯示的動態屬性。
  5) 相關網站介紹
  a) www.java.sun.com
  b) www.servlets.com
  c) www.21icsearch.com/aspfans/jspfans/default.jsp
  d) http://java.apache.org

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.