溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JSP 簡介,環(huán)境搭建和JSP特性

發(fā)布時(shí)間:2020-08-16 16:24:37 來源:ITPUB博客 閱讀:121 作者:as507169008 欄目:編程語言

JSP 簡介

什么是Java Server Pages(Java服務(wù)器頁面)?

JSP全稱Java Server Pages,是一種動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)。它使用JSP標(biāo)簽在HTML網(wǎng)頁中插入Java代碼。標(biāo)簽通常以<%開頭以%>結(jié)束。

JSP是一種Javaservlet(服務(wù)器小程序),主要用于實(shí)現(xiàn)Javaweb應(yīng)用程序的用戶界面部分。網(wǎng)頁開發(fā)者們通過結(jié)合HTML代碼、XHTML代碼、XML元素以及嵌入JSP操作和命令來編寫JSP。

JSP通過網(wǎng)頁表單獲取用戶輸入數(shù)據(jù)、訪問數(shù)據(jù)庫及其他數(shù)據(jù)源,然后動(dòng)態(tài)地創(chuàng)建網(wǎng)頁。

JSP標(biāo)簽有多種功能,比如訪問數(shù)據(jù)庫、記錄用戶選擇信息、訪問JavaBeans組件等,還可以在不同的網(wǎng)頁中傳遞控制信息和共享信息。

。。。

為什么使用JSP?

JSP程序與CGI(公共網(wǎng)關(guān)接口)程序有著相似的功能,但和CGI程序相比,JSP程序有如下優(yōu)勢(shì):

-性能更加優(yōu)越,因?yàn)镴SP可以直接在HTML網(wǎng)頁中動(dòng)態(tài)嵌入元素而不需要單獨(dú)引用CGI文件。

-服務(wù)器調(diào)用的是已經(jīng)編譯好的JSP文件,而不像CGI/Perl那樣必須先載入解釋器和目標(biāo)腳本。

-JSP基于Java Servlets API,因此,JSP擁有各種強(qiáng)大的企業(yè)級(jí)Java API,包括JDBC,JNDI,EJB,JAXP等等。

-JSP頁面可以與處理業(yè)務(wù)邏輯的servlets一起使用,這種模式被Java servlet 模板引擎所支持。

最后,JSP是Java EE不可或缺的一部分,是一個(gè)完整的企業(yè)級(jí)應(yīng)用平臺(tái)。這意味著JSP可以用最簡單的方式來實(shí)現(xiàn)最復(fù)雜的應(yīng)用。

。。。

JSP的優(yōu)勢(shì)http://www.iis7.com/a/lm/yczmljgj/

以下列出了使用JSP帶來的其他好處:

-與ASP相比:JSP有兩大優(yōu)勢(shì)。首先,動(dòng)態(tài)部分用Java編寫,而不是VB或其他MS專用語言,所以更加強(qiáng)大與易用。第二點(diǎn)就是JSP易于移植到非MS平臺(tái)上。

-與純 Servlets相比:JSP可以很方便的編寫或者修改HTML網(wǎng)頁而不用去面對(duì)大量的println語句。

-與SSI相比:SSI無法使用表單數(shù)據(jù)、無法進(jìn)行數(shù)據(jù)庫鏈接。

-與JavaScript相比:雖然JavaScript可以在客戶端動(dòng)態(tài)生成HTML,但是很難與服務(wù)器交互,因此不能提供復(fù)雜的服務(wù),比如訪問數(shù)據(jù)庫和圖像處理等等。

-與靜態(tài)HTML相比:靜態(tài)HTML不包含動(dòng)態(tài)信息。

::::::::::::::::::::::::::::::::::::::::

JSP 開發(fā)環(huán)境搭建

JSP開發(fā)環(huán)境是您用來開發(fā)、測試和運(yùn)行JSP程序的地方。

我們來搭建JSP開發(fā)環(huán)境,具體包括以下幾個(gè)步驟:

1. 配置Java開發(fā)工具(JDK)

這一步涉及Java SDK的下載和PATH環(huán)境變量的配置。

您可以從Oracle公司的Java頁面中下載SDK:Java SE Downloads(JavaSE下載)

JavaSDK下載完后,請(qǐng)按照給定的指示來安裝和配置SDK。最后,通過設(shè)置PATH和JAVA_HOME環(huán)境變量來指明包括java和javac的文件夾路徑,通常是java_install_dir/bin和java_install_dir。

假如您用的是Windows系統(tǒng)并且SDK的安裝目錄為C::\jdk1.5.0_20,那么您就需要在 C:\autoexec.bat 文件中添加以下兩行:

set PATH=C:\jdk1.5.0_20\bin;%PATH%

set JAVA_HOME=C:\jdk1.5.0_20

或者,在Windows NT/2000/XP下,您可以直接右擊我的電腦圖標(biāo),選擇屬性,然后高級(jí),然后環(huán)境變量,接下來您就可以很方便地設(shè)置PATH變量并且確定退出就行了。

在Linux/Unix系統(tǒng)下,如果SDK的安裝目錄為/usr/local/jdk1.5.0_20并且使用的是C shell,那么您就需要在.cshrc文件中添加以下兩行:

setenv PATH /usr/local/jdk1.5.0_20/bin:$PATH

setenv JAVA_HOME /usr/local/jdk1.5.0_20

或者,假如您正在使用類似于Borland JBuilder、Eclipse、IntelliJ IDEA和Sun ONE Studio這樣的集成開發(fā)環(huán)境,可以試著編譯并運(yùn)行一個(gè)簡單的程序來確定IDE(集成開發(fā)環(huán)境)是否已經(jīng)知道 SDK的安裝目錄。

2. 設(shè)置Web服務(wù)器:Tomcat

目前,市場上有很多支持JSP和Servlets開發(fā)的Web服務(wù)器。他們中的一些可以免費(fèi)下載和使用,Tomcat就是其中之一。

Apache Tomcat是一個(gè)開源軟件,可作為獨(dú)立的服務(wù)器來運(yùn)行JSP和Servlets,也可以集成在 Apache Web Server中。以下是Tomcat的配置方法:

下載最新版本的Tomcat:http://tomcat.apache.org/。

下載完安裝文件后,將壓縮文件解壓到一個(gè)方便的地方,比如Windows下的C:\apache-tomcat-5.5.29目錄或者Linux/Unix下的/usr/local/apache-tomcat-5.5.29目錄,然后創(chuàng)建CATALINA_HOME環(huán)境變量指向這些目錄。

在Windows機(jī)器下,Tomcat可以通過執(zhí)行以右命令來啟動(dòng):%CATALINA_HOME%\bin\startup.bat 或者 C:\apache-tomcat-5.5.29\bin\startup.bat

在Linux/Unix機(jī)器下,Tomcat可以通過執(zhí)行以右命令來啟動(dòng):$CATALINA_HOME/bin/startup.sh 或者 /usr/local/apache-tomcat-5.5.29/bin/startup.sh

成功啟動(dòng)Tomcat后,通過訪問http://localhost:8080/便可以使用Tomcat自帶的一些web應(yīng)用了。

在Windows機(jī)器下,Tomcat可以通過執(zhí)行以下命令來停止:%CATALINA_HOME%\bin\shutdown 或者 C:\apache-tomcat-5.5.29\bin\shutdown

在Linux/Unix機(jī)器下,Tomcat可以通過執(zhí)行以下命令來停止:$CATALINA_HOME/bin/shutdown.sh 或者 /usr/local/apache-tomcat-5.5.29/bin/shutdown.sh

3. 設(shè)置CLASSPATH環(huán)境變量

由于servlets不是Java SE的一部分,所以您必須標(biāo)示出servlet類的編譯器。

假如您用的是Windows機(jī)器,您需要在C:\autoexec.bat文件中添加以下兩行:

set CATALINA=C:\apache-tomcat-5.5.29

set CLASSPATH=%CATALINA%\common\lib\jsp-api.jar;%CLASSPATH%

或者,在Windows NT/2000/XP下,您只要右擊我的電腦,選擇屬性,然后點(diǎn)擊高級(jí),然后點(diǎn)擊環(huán)境變量,接下來便可以設(shè)置CLASSPATH變量并且確定退出即可。

在Linux/Unix機(jī)器下,假如您使用的是C shell,那么您就需要在.cshrc文件中添加以下兩行:

setenv CATALINA=/usr/local/apache-tomcat-5.5.29

setenv CLASSPATH $CATALINA/common/lib/jsp-api.jar:$CLASSPATH

注意:如果您的開發(fā)路徑是C:\JSPDev (Windows)或者 /usr/JSPDev (Linux/Unix),那么您就需要將這些路徑添加進(jìn)CLASSPATH變量中。

::::::::::::::::::::::::::::::::::::::::::::::::::::::

Eclipse JSP/Servlet 環(huán)境搭建

我們可以使用 Eclipse 來搭建 JSP 開發(fā)環(huán)境,首先我們分別下載一下軟件包:

Eclipse J2EE:http://www.eclipse.org/downloads/

Tomcat:http://tomcat.apache.org/download-70.cgi

。。。

Tomcat 下載安裝

你可以根據(jù)你的系統(tǒng)下載對(duì)應(yīng)的包(以下以Window系統(tǒng)為例):

注意目錄名不能有中文和空格。目錄介紹如下:

bin:二進(jìn)制執(zhí)行文件。里面最常用的文件是startup.bat,如果是 Linux 或 Mac 系統(tǒng)啟動(dòng)文件為 startup.sh。

conf:配置目錄。里面最核心的文件是server.xml??梢栽诶锩娓亩丝谔?hào)等。默認(rèn)端口號(hào)是8080,也就是說,此端口號(hào)不能被其他應(yīng)用程序占用。

lib:庫文件。tomcat運(yùn)行時(shí)需要的jar包所在的目錄

logs:日志

temp:臨時(shí)產(chǎn)生的文件,即緩存

webapps:web的應(yīng)用程序。web應(yīng)用放置到此目錄下瀏覽器可以直接訪問

work:編譯以后的class文件。

接著我們可以雙擊 startup.bat 啟動(dòng) Tomcat

這個(gè)時(shí)候,本地的服務(wù)器就已經(jīng)搭建起來了。如果想關(guān)閉服務(wù)器,可以直接關(guān)閉上面的窗口,或者在里面輸入Ctrl+C禁止服務(wù)。

接著我們?cè)跒g覽器中輸入 http://localhost:8080/,表示tomcat安裝成功并且啟動(dòng)起來了

::::::::::::::::::::::::::::::::::::::::::::::::

JSP 結(jié)構(gòu)

網(wǎng)絡(luò)服務(wù)器需要一個(gè)JSP引擎,也就是一個(gè)容器來處理JSP頁面。容器負(fù)責(zé)截獲對(duì)JSP頁面的請(qǐng)求。本教程使用內(nèi)嵌JSP容器的Apache來支持JSP開發(fā)。

JSP容器與Web服務(wù)器協(xié)同合作,為JSP的正常運(yùn)行提供必要的運(yùn)行環(huán)境和其他服務(wù),并且能夠正確識(shí)別專屬于JSP網(wǎng)頁的特殊元素。

。。。

JSP處理

以下步驟表明了Web服務(wù)器是如何使用JSP來創(chuàng)建網(wǎng)頁的:

-就像其他普通的網(wǎng)頁一樣,您的瀏覽器發(fā)送一個(gè)HTTP請(qǐng)求給服務(wù)器。

-Web服務(wù)器識(shí)別出這是一個(gè)對(duì)JSP網(wǎng)頁的請(qǐng)求,并且將該請(qǐng)求傳遞給JSP引擎。通過使用URL或者.jsp文件來完成。

-JSP引擎從磁盤中載入JSP文件,然后將它們轉(zhuǎn)化為servlet。這種轉(zhuǎn)化只是簡單地將所有模板文本改用println()語句,并且將所有的JSP元素轉(zhuǎn)化成Java代碼。

-JSP引擎將servlet編譯成可執(zhí)行類,并且將原始請(qǐng)求傳遞給servlet引擎。

-Web服務(wù)器的某組件將會(huì)調(diào)用servlet引擎,然后載入并執(zhí)行servlet類。在執(zhí)行過程中,servlet產(chǎn)生HTML格式的輸出并將其內(nèi)嵌于HTTP response中上交給Web服務(wù)器。

-Web服務(wù)器以靜態(tài)HTML網(wǎng)頁的形式將HTTP response返回到您的瀏覽器中。

-最終,Web瀏覽器處理HTTP response中動(dòng)態(tài)產(chǎn)生的HTML網(wǎng)頁,就好像在處理靜態(tài)網(wǎng)頁一樣。

一般情況下,JSP引擎會(huì)檢查JSP文件對(duì)應(yīng)的servlet是否已經(jīng)存在,并且檢查JSP文件的修改日期是否早于servlet。如果JSP文件的修改日期早于對(duì)應(yīng)的servlet,那么容器就可以確定JSP文件沒有被修改過并且servlet有效。這使得整個(gè)流程與其他腳本語言(比如PHP)相比要高效快捷一些。

總的來說,JSP網(wǎng)頁就是用另一種方式來編寫servlet而不用成為Java編程高手。除了解釋階段外,JSP網(wǎng)頁幾乎可以被當(dāng)成一個(gè)普通的servlet來對(duì)待。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI