亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

一個開發人員眼中的JSP技術(上)

2020-07-27 21:54:46
字體:
來源:轉載
供稿:網友
(作者:天譯編譯 2000年12月01日 14:26)

JavaServerTM Pages(JSP)技術為我們提供了一種建立動態網頁的簡單方法,而且也簡化了構造web程序的工作。本文從一個開發人員的角度對JSP技術做了一個全面介紹(并提供了一些JSP實例程序)。
前言
JavaServer Pages技術可以讓web開發人員和設計人員非常容易的創建和維護動態網頁,特別是目前的商業系統。作為JavaTM技術的一部分,JSP能夠快速開發出基于web、獨立于平臺的應用程序。JSP 把用戶界面從系統內容中分離開來,使得設計人員能夠在不改變底層動態內容的前提下改變整個網頁布局。
那么什么是JavaServer Page呢?簡單的說,一個JSP網頁就是在HTML網頁中包含了能夠生成動態內容的可執行應用程序代碼。此應用程序可能包含JavaBeanTM,JDBCTM對象,Enterprise Java BeanTM (EJB)和Remote Method Invocation (RMI)對象,所有的部分都可以非常容易的從JSP網頁上訪問到。例如,一個JSP網頁可以包含 HTML代碼所顯示的靜態文本和圖像,也可以調用一個JDBC對象來訪問數據庫;當網頁顯示到用戶界面上以后,它將包含靜態HTML內容和從數據庫中找到相應的動態信息。
  在JSP網頁中,要把用戶界面和應用程序分開可以考慮在網頁設計人員和開發人員之間執行一個非常方便的授權任務。它也允許開發人員去建立靈活的代碼,從而非常容易的進行更新和重復利用。由于JSP網頁能夠根據需要自動進行編譯,web設計人員無須重新編譯應用程序邏輯就可以改變表述代碼。這也使得JSP與Java servlet(它是JavaSever Pages功能的擴展)相比成為一種可以更靈活生成動態web內容的方法。

JSP和Servlet
  如果你已經用過Java servlet,那么你就會知道servlet可以讓你建立動態生成的網頁,而網頁中包含有從服務器方的Java對象中所獲得的數據。但是你也得知道servlet 生成網頁的方法就是在Java類中嵌入HTML標簽和表述代碼。這就意味著改變表述代碼需要修改和重新編譯servlet源文件。因為設計HTML頁面的設計人員可能與編寫servlet代碼的開發人員不是同一個人,更新基于servlet的web應用程序就成了一件非常棘手的事情。

  Enter JavaServer Page是Servlet API的一個擴展。事實上,JSP網頁在編譯成servlet之前也可以使用,所以它們也具有servlet的所有優勢,包括訪問Java API。由于JSP 是嵌入到servlet中關于應用程序的一般表述代碼,所以他們能夠被看成一種“徹底”的servlet。

  JSP網頁主要提供了一種建立servlet的高水平方法,它還帶來了其他的優點。即使你已經為web應用程序編寫了servlet,使用JSP仍然有很多優勢:

  JSP網頁可以非常容易的與靜態模板結合,包括HTML 或XML 片段,以及生成動態內容的代碼。

  JSP網頁可以在被請求的時候動態的編譯成servlet,所以網頁的設計人員可以非常容易的對表述代碼進行更新。如果需要的話,JSP網頁還可以進行預編譯。

  為了調用JavaBean組件,JSP標簽可以完全管理這些組件,避免網頁設計人員復雜化應用程序。

  開發人員可以提供定制化的JSP標簽庫。

  網頁設計人員能夠改變和編輯網頁的固定模板部分而不影響應用程序。同樣,開發人員也無須一個個編輯頁面而只須對組件進行合理的改變。

  通常,JSP允許開發人員向許多網頁設計人員分發功能性應用程序。這些設計人員也不必知道Java編程語言或任何servlet代碼,所以他們能夠集中精力去編寫HTML代碼,而編程人員就可以集中精力去建立對象和應用程序。

建立JSP頁面
  粗略看來,JSP網頁和HTML (或XML)網頁非常相似――都包含用標簽封裝的文本(在“<>”之間被定義)。當HTML標簽被用戶的瀏覽器處理以顯示網頁的時候,JSP標簽能夠通過web服務器的處理來生成動態內容。這些JSP標簽能夠定義個別的操作,比如說用一個方法來調用JavaBean,或者包含標準的Java代碼塊(也就是所謂的scriptlet),這些代碼塊能夠在網頁被訪問的時候被執行。

  為了了解它們如何使用,下面我們介紹了一個JSP網頁的簡單例子,在這個JSP網頁中包含了靜態HTML內容和從JavaBean生成的動態數據。當用戶訪問這個網頁的時候,它可以顯示當前的日期,并根據當前的時間增加相應的問候語(例如“早上好”和“下午好”)。為簡單起見,JSP標簽顯示在塊中:

  

  <%@ page language="java" imports="java.util.*" %>

  

Welcome



  

Today is



  

  


      
  • Day: <%= clock.getDayOfMonth() %>

      
  • Year: <%= clock.getYear() %>

      


  <%-- Check for AM or PM --%>

  <%! int time = Calendar.getInstance().get(Calendar.AM_PM); %>

  <%

  if (time == Calendar.AM) {

  %>

  早上好

  <%

  }

  else {

  %>

  下午好

  <%

  }

  %>

  <%@ include file="copyright.html" %>

  

  上面的JSP例子是不是很簡單?我們在JSP網頁中使用了幾個不同的組件。這些組件包括下面的內容:

  JSP action (或JSP標簽)使用了多種函數并擴展了JSP的功能。JSP action使用的是一種類似XML的語法,并且被用來處理JavaBean組件。在上面的例子中,jsp:useBean action初始化了一個JavaBean ,JavaBean將在網頁的后面部分被用到:

  

  如果在網頁中需要獲得和設置這個Bean的屬性,另一個JSP action將被給出,使用的是下面的語法:

  

  

  當網頁被編譯成一個servlet的時候,Directive將被JSP引擎處理。Directive被用來設置頁面級的指令、從外部文件插入數據以及制定定制的標簽庫。Directive被定義在<%@ 和 %>之間。 在上面的例子中,Directive定義了頁面所使用的語言(Java),為了關聯Java類需要植入代碼并指定一個將要插入頁面底部的HTML文件內容:

  <%@ page language=="java" imports=="java.util.*" %>

  <%@ include file=="copyright.html" %>

  聲明與Java中的變量聲明相似,它也是為了后面表達式或scriptlet的需要來定義變量。聲明被定義在<%! 和 %>之間。在上面的例子中,“int”聲明并給出了一個當前時間的相應值 (AM 或 PM):

  <%! int time = Calendar.getInstance().get(Calendar.AM_PM); %>

  表達式可以是變量或常量,它插在由web服務器所返回的數據里,并用<%= 和 %>來定義。在上面的例子中,表達式將調用JavaBean組件并在頁面中插入結果數據:

  <%= clock.getDayOfMonth() %>

  <%= clock.getYear() %>

  Scriptlet將作為一個Java代碼塊植入JSP頁面中。Scriptlet代碼被一一插入由頁面所產生的servlet中,它被定義在<% 和%>之間。上面例子中的scriptlet可以根據當前用戶產生相應的時間和問候語:

  <%

  if (time == Calendar.AM) {

  %>

  早上好

  <%

  }

  else {

  %>

  下午好

  <%

  }

  %>

  注釋部分和HTML的注釋相似,當在執行的時候JSP引擎將去掉對注釋的解釋。這就意味著JSP注釋并不返回到用戶的瀏覽器中。不象HTML注釋被定義在標簽之間,JSP注釋被定義在<%--和 --%>之間。例如:

  <%-- Check for AM or PM --%>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品黄网在线观看| 久久天天躁狠狠躁老女人| 国产精品久久精品| 亚洲人成自拍网站| 亚洲黄色片网站| 狠狠做深爱婷婷久久综合一区| 国产亚洲激情在线| 国产精品吊钟奶在线| 久久香蕉精品香蕉| 大胆欧美人体视频| 亚洲男人第一av网站| 亚洲女人天堂成人av在线| 亚洲性猛交xxxxwww| 亚洲欧美精品中文字幕在线| 亚洲香蕉成视频在线观看| 97国产suv精品一区二区62| 亚洲摸下面视频| 欧美日韩国产色视频| 欧美亚洲伦理www| 麻豆国产精品va在线观看不卡| 国产女精品视频网站免费| 一区二区三区高清国产| 中文字幕欧美日韩精品| 亚洲成年人在线播放| 国产精品99久久久久久久久| 91在线看www| 国产精品羞羞答答| www.日韩不卡电影av| 久久精品最新地址| 亚洲精品乱码久久久久久金桔影视| 国产婷婷成人久久av免费高清| 亚洲电影免费观看高清完整版| 亚洲最新中文字幕| 亚洲夜晚福利在线观看| 成人在线视频网| 国产在线高清精品| 国产精品女主播视频| www.欧美免费| 7m精品福利视频导航| 精品成人乱色一区二区| 俺去啦;欧美日韩| 色综合久久精品亚洲国产| 精品无码久久久久久国产| 68精品久久久久久欧美| 欧美成人性色生活仑片| 亚洲国语精品自产拍在线观看| 九九精品视频在线| 在线观看久久久久久| 国产精品扒开腿做爽爽爽视频| 欧美日韩免费观看中文| 成人免费淫片视频软件| 91成人精品网站| 色综合伊人色综合网站| 色偷偷av一区二区三区| 日韩欧美有码在线| 日韩精品在线电影| 日韩电视剧在线观看免费网站| 欧美国产精品日韩| 欧美又大又硬又粗bbbbb| 国产精品久久久久aaaa九色| 亚洲激情 国产| 亚洲电影在线看| 亚洲精品丝袜日韩| 亚洲free性xxxx护士hd| 欧美极品少妇xxxxⅹ裸体艺术| 欧美日韩成人在线观看| 成人妇女淫片aaaa视频| 日韩av日韩在线观看| 亚洲综合av影视| 成人免费网站在线| 亚洲电影中文字幕| 国产亚洲欧美aaaa| 精品一区二区三区三区| 国产日产久久高清欧美一区| 亚洲国产精品资源| 国产成人精品网站| 国产精品一区二区久久久| 日韩欧美国产激情| 色婷婷综合成人av| 精品久久中文字幕| 亚洲成人精品视频在线观看| 免费99精品国产自在在线| 色综合久久天天综线观看| 欧美专区在线播放| 亚洲风情亚aⅴ在线发布| 色婷婷综合久久久久中文字幕1| 国产日韩欧美黄色| 欧美日韩免费一区| 成人有码在线播放| 高清欧美一区二区三区| 国产精品国产三级国产aⅴ浪潮| 2020久久国产精品| 久久99精品久久久久久青青91| 5252色成人免费视频| 国产精品吹潮在线观看| 91成人性视频| 欧美黄色成人网| 日韩在线视频一区| 国产精品一区二区久久国产| 中文字幕免费精品一区| 成人做爽爽免费视频| 91在线无精精品一区二区| 欧美精品在线免费| 亚洲一区999| 国产精品情侣自拍| 亚洲国产日韩精品在线| 色婷婷亚洲mv天堂mv在影片| 亚洲欧洲xxxx| 欧美激情一级欧美精品| 另类少妇人与禽zozz0性伦| 在线观看欧美视频| 亚洲欧洲自拍偷拍| 日韩av在线网| 中文字幕在线观看亚洲| 欧美老妇交乱视频| 国产精品日韩欧美| 国产va免费精品高清在线| 久久青草精品视频免费观看| 亚洲欧美国产精品va在线观看| 久久精品中文字幕一区| 自拍亚洲一区欧美另类| 亚洲精品在线视频| 欧美一乱一性一交一视频| 国产狼人综合免费视频| 亚洲欧美国产一区二区三区| 国产主播在线一区| 欧美有码在线观看| zzjj国产精品一区二区| 欧美激情视频在线免费观看 欧美视频免费一| 日韩精品亚洲元码| 日本精品一区二区三区在线播放视频| 国产精品99久久99久久久二8| 国产精选久久久久久| 欧美精品久久久久久久| 日韩小视频在线| 91av在线网站| 成人欧美一区二区三区在线| 国产精品视频yy9099| 日韩欧美综合在线视频| 亚洲午夜av电影| 日韩美女视频免费看| 日韩美女激情视频| 国模gogo一区二区大胆私拍| 91精品视频免费观看| 国模精品视频一区二区| 欧美裸体视频网站| 国产一区二区三区在线看| 日韩av免费在线观看| 中文字幕精品国产| 中文字幕精品影院| 亚洲综合av影视| 97免费视频在线| 成人亚洲激情网| 亚洲在线www| 精品久久久久久久久国产字幕| 亚洲小视频在线| 91久久久精品| 亚洲欧美资源在线| 日韩美女免费视频| 国产不卡视频在线| 国产精品一区二区久久| 国a精品视频大全| 久久人人看视频| 亚洲一区二区三区香蕉|