婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > JSP技術(shù)生成動(dòng)態(tài)web頁(yè)面

JSP技術(shù)生成動(dòng)態(tài)web頁(yè)面

熱門標(biāo)簽:地圖標(biāo)注制作道路 電銷外呼系統(tǒng) 排行榜 珠海銷售外呼系統(tǒng)運(yùn)營(yíng)商 地圖標(biāo)注創(chuàng)業(yè)項(xiàng)目入駐 長(zhǎng)春回?fù)芡夂粝到y(tǒng)廠家 四川電信外呼系統(tǒng)靠譜嗎 外呼系統(tǒng)啥意思 山東智能云外呼管理系統(tǒng) 廣州三五防封電銷卡

隨著WEB技術(shù)的發(fā)展,WEB內(nèi)容從一些靜態(tài)的頁(yè)到內(nèi)容豐富的動(dòng)態(tài)頁(yè)。對(duì)于廣大WEB開(kāi)發(fā)人員來(lái)講動(dòng)態(tài)頁(yè)面的生成是一個(gè)挑戰(zhàn)。有許多的方法來(lái)試圖解決這個(gè)問(wèn)題,如plug-in技術(shù)及基于服務(wù)器端的APIs等方法,但存在的一個(gè)問(wèn)題是這些方法是針對(duì)某個(gè)特定的web服務(wù)器,如Microsoft提供的ASP技術(shù)就只針對(duì)它的IIS及Personal web服務(wù)器。 
目前用于生成動(dòng)態(tài)網(wǎng)頁(yè)較為流行的方法有CGI、PHP及JavaServer Page(JSP)技術(shù)等。其中:CGI通過(guò)訪問(wèn)其它應(yīng)用程序來(lái)獲取信息并返回給瀏覽器,CGI程序通常用C或PERL語(yǔ)言來(lái)開(kāi)發(fā);Jsp則通過(guò)將Jsp組件編譯成Java Servlet在服務(wù)器端運(yùn)行來(lái)實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容。下面從幾個(gè)方面比較Jsp與傳統(tǒng)CGI的特性: 
可移植性: 
大多WEB服務(wù)器支持CGI接口,但CGI程序自身并不能跨平臺(tái)運(yùn)行; Java Servlet程序則具有JAVA程序的優(yōu)點(diǎn),可運(yùn)行在任何平臺(tái)之上,大多數(shù)WEB及應(yīng)用服務(wù)器都支持JAVA及servlet API。 
性能上: 
傳統(tǒng)的CGI環(huán)境下,每一次client對(duì)CGI程序的請(qǐng)求,都使服務(wù)器產(chǎn)生一個(gè)新的進(jìn)程來(lái)裝載、執(zhí)行CGI程序。大量的并行請(qǐng)求大大降低了其性能;JSP則沒(méi)有這個(gè)局限,每個(gè)程序裝載一次,并駐留在服務(wù)器內(nèi)存為以后請(qǐng)求服務(wù)。另外JSP在多線程的編寫與控制方面比CGI容易得多。 
開(kāi)發(fā)及發(fā)布: 
由于Java Servelt具有JAVA的所有優(yōu)點(diǎn),開(kāi)發(fā)起來(lái)也相對(duì)容易,java簡(jiǎn)化了對(duì)異常的處理;它的面向?qū)ο筇匦允归_(kāi)發(fā)人員的協(xié)作成為一件簡(jiǎn)單的事。JSP技術(shù)從如下幾個(gè)方面加快動(dòng)態(tài)網(wǎng)站開(kāi)發(fā): 
1) 將靜態(tài)頁(yè)面的開(kāi)發(fā)和動(dòng)態(tài)內(nèi)容的生成分開(kāi) 
JSP中通過(guò)使用HTML或XML標(biāo)記來(lái)規(guī)劃、設(shè)計(jì)WEB頁(yè)的布局和風(fēng)格;而用JSP標(biāo)記來(lái)實(shí)現(xiàn)動(dòng)態(tài)的內(nèi)容,生成動(dòng)態(tài)內(nèi)容的部分被封裝起來(lái)運(yùn)行于服務(wù)器端;這樣頁(yè)面布局和風(fēng)格可單獨(dú)編輯與調(diào)試而不影響動(dòng)態(tài)內(nèi)容生成。 
2) 組件的重用 
多數(shù)JSP頁(yè)通過(guò)重用無(wú)平臺(tái)無(wú)關(guān)的組件—javaBeans來(lái)完成復(fù)雜的要求。這些組件可在開(kāi)發(fā)人員中重復(fù)使用。 
3) 通過(guò)標(biāo)記來(lái)簡(jiǎn)化頁(yè)面開(kāi)發(fā) 
通過(guò)JSP提供了標(biāo)記,開(kāi)發(fā)人員可以很容易使用beans組件,設(shè)置和訪問(wèn)它們的屬性。同時(shí)JSP也允許用戶自定義標(biāo)記,還可接受第三方開(kāi)發(fā)的標(biāo)記,從而可以方便使用第三方提供的功能組件。 
在對(duì)JSP的特點(diǎn)有所了解之后,接下來(lái)就談?wù)凧SP的安裝與開(kāi)發(fā)實(shí)例。(操作系統(tǒng)以Nt4.0為例) 
為運(yùn)行JSP page需要安裝jdk及jswdk。首先安裝jdk,在jdk安裝完成后,要確保javac及java能正常工作。然后安裝jswdk,實(shí)際上只需把jswdk解壓到一個(gè)目錄即可。為了使jswdk正常運(yùn)行,還需要對(duì)環(huán)境變量CLASSPATH做如下修改: 
如果使用JDK1.1,則不需修改CLASSPATH;如果使用JDK1.2,則設(shè)置環(huán)境變量JAVA_HOME,使其指向JDK安裝路徑。 
完成上述工作后,就可以啟動(dòng)Java WebServer了。 
執(zhí)行jswdk目錄下的startserver.bat文件來(lái)啟動(dòng)Java Server,該Web server使用的默認(rèn)端口為8080。如果Web server新動(dòng)后,需要重新啟動(dòng)則需要先停止已啟動(dòng)的Web server,執(zhí)行stopserver.bat可停止達(dá)到此目的。 
JavaServer啟動(dòng)后,如果正常則在瀏覽器的地址中輸入:http://localhost:8080/ 就可顯示介紹Java Webserver Page的頁(yè)面。在jswdk目錄下還有一個(gè)examples目錄,這是jswdk中自帶的一個(gè)web 應(yīng)用, 一個(gè)web應(yīng)用包含jsps, servlets,html files, images等資源。我們也可以創(chuàng)建一個(gè)新的web應(yīng)用,從而把自己相關(guān)的文件放入其中。讓我們來(lái)分析一下如何創(chuàng)建一個(gè)新的web 應(yīng)用。 
要?jiǎng)?chuàng)建一個(gè)新的web 應(yīng)用,需要在jswdk安裝目錄下新建一個(gè)目錄,如創(chuàng)建一個(gè)名為myweb的web應(yīng)用,其目錄結(jié)構(gòu)如下: 



jswdk_inatall myweb web-inf 
servlets 
jsp beans 
webapp.properties 
servlets.properties 
mime.properties 
mappings.properties 
其中:jswdk_install表示jswdk的安裝目錄;以properties為后綴的四個(gè)文件為屬性文件,可從jswkd_install/web-inf下拷貝得到。修改jswdk_install目錄下的webserver.xml文件,加入如下一行,其作用是把myapp作相應(yīng)的映射: WebApplication id="mybase1" mapping="/myweb" docBase="myweb"/> 
同時(shí)修改startserver.bat文件,把 myweb/web-info/jsp/beans目錄加到相應(yīng)的環(huán)境變量beanJars中;也可通過(guò)在CLASSPATH環(huán)境變量中加入該路徑來(lái)實(shí)現(xiàn)。 
要加入jsp文件,可把文件放到myweb目錄下或它的下一級(jí)目錄中;要加入servlet,只需把編譯正確的servlet放到servlets中;而把編譯正確的java beans放到beans目錄下。 
請(qǐng)注意在對(duì)beans或servlet修改后,要使修改生效,需要重新啟動(dòng)Web Server。 
了解這些規(guī)則之后,下面就創(chuàng)建第一個(gè)JSP文件 myfirst.jsp,其內(nèi)容如下: 
html> 
head>title> My first Jsp filetitile> 
/head> 
body> 
% out.println("this is my first jsp file"); %> 
/body> 
/html> 
將該文件放在jswkd_install\myweb目錄下,如果Web server已啟動(dòng),則在游覽器地址中輸入: 
http://localhost:8080/myweb/myfirst.jsp 
我們就可以看到執(zhí)行的結(jié)果。在完成第一個(gè)簡(jiǎn)單的jsp文件后,我們可以編寫一個(gè)java beans,并在jsp文件中調(diào)用該beans。 
java bean源程序HelloWorld.java內(nèi)容如下: 
public class helloWorld { 
public String name ; 
public boolean setHello(String name){ 
this.name = new String(name); 

public String sayHello() 

return name; 





用JDK編譯該文件: 
javac helloWorld.java 
在成功編譯后,將生成的字節(jié)碼文件HelloWorld.class放到myweb/web-inf/jsp/beans目錄下; 
在下面jsp文件test.jsp中調(diào)用helloWorld,test.jsp內(nèi)容如下: 
html> 
head> 
title> Jsp and java bean /title> 
/head> 
body> 
jsp:useBean id="helloBean" scope="session" class="HelloWorld" /> 

String hello = "this is a bean test"; 
helloBean.setHello(hello); 
out.println(helloBean.sayHello() + "br>"); 
%> 
/body> 
/html> 
將該jsp文件放到j(luò)swdk_install\myweb\目錄下 
重新啟動(dòng)web Server,在瀏覽器地地址中輸入: 
http://localhost:8080/myweb/test.jsp 
就可以顯示執(zhí)行結(jié)果; 
注意到在test.jsp中 
jsp:useBean id="helloBean" scope="session" class="HelloWorld" /> 的scope = "session"表明該對(duì)象創(chuàng)建后可在同一會(huì)話(session)的其它頁(yè)引用。如我們可以在aftertest.jsp中引用test.jsp中創(chuàng)建的對(duì)象,aftertest.jsp內(nèi)容包含下面的代碼: 

helloWorld rebean = (helloWorld)session.getValue("helloBean"); 
out.println("bean used in aftertest.jsp"+rebean.sayHello()); 
%> 
要注意的是要引用的對(duì)象必須已創(chuàng)建,否則會(huì)出現(xiàn)異常。 
下面看看在jsp中使用訪問(wèn)數(shù)據(jù)的java beans例子。我所使用的數(shù)據(jù)庫(kù)是oracle8,通過(guò)SQL*Net創(chuàng)建的數(shù)據(jù)庫(kù)連接串名為begpinter,數(shù)據(jù)庫(kù)服務(wù)器運(yùn)行在名為begpinterserver的機(jī)器上,下面是JspJdbc.java的內(nèi)容: 
// You need to import the java.sql package to use JDBC 
import java.sql.*; 
import oracle.jdbc.driver.* ; 
public class JspJdbc 

Connection conn = null; 



Public ResultSet rset = null; 
public JdbcCheckup(){ 
// Load the Oracle JDBC driver 
try{ 
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
}catch(SQLException e1) { 
System.err.println("executeQuery: " + e1.getMessage()); 





public ResultSet executeQuery(String sql) { 
rset = null; 
try { 
conn = DriverManager.getConnection 
("jdbc:oracle:thin:@bgpinterserver:1521:bgpinter","SCOTT", "TIGER"); 
Statement stmt = conn.createStatement(); 
rset = stmt.executeQuery(sql); 
}catch(SQLException e1) { 
System.err.println("error: " + e1.getMessage()); 

return rset; 


編譯后將JspJdbc.class文件放入myweb\web-inf\jsp\beans目錄下。在下面的jsp文件中調(diào)用beans,jspdb.jsp內(nèi)容如下: 
html> 
head> 
meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
title>Database in Jsp/title> 
/head> 
body> 



%@ page language="java" import="java.sql.*,oracle.jdbc.driver.*" errorPage="errorpage.jsp" %> 
jsp:useBean id="jspdatabase" scope="page" class="JspJdbc" /> 

ResultSet rset = jspdatabase.executeQuery("SELECT * FROM emp"); 
out.println("table>tr>th>number/th>th>name/th>/tr>"); 
while (reset.next()) { 
out.println("tr>td>"+rset.getInt("eptno")+"/td>"); 
out.println("td>"+rset.getString("enameeptno")+"/td>/tr>"); 

rest.close(); 
out.println("/table>"); 
%> 
/body> 
/html> 
其中用于顯示異常的errorpage.jsp內(nèi)容為: 
html> 
body bgcolor="red"> 
%@ page isErrorPage="true" %> 
h1> The exception %= exception.getMessage() %> 
/body> 
/html> 
重新啟動(dòng)Web server使新創(chuàng)建的java beans生效,如果與數(shù)據(jù)服務(wù)器連接正常,則在瀏覽器地址中輸入 
http://localhost:8080/myweb/jspdb.jsp 
將顯示查詢結(jié)果。 
通過(guò)上面的介紹,相信大家對(duì)Jsp有所了解。要進(jìn)一步了解Jsp技術(shù)可訪問(wèn)下面的站點(diǎn): 
http://java.sun.com/products/jsp 
您可能感興趣的文章:
  • JSP生成jpeg圖片用于投票
  • JSP學(xué)習(xí)之Java Web中的安全控制實(shí)例詳解
  • jsp web.xml文件的作用及基本配置
  • 利用JSP建立Web站點(diǎn)
  • JSP多種web應(yīng)用服務(wù)器導(dǎo)致JSP源碼泄漏漏洞
  • JSP實(shí)現(xiàn)的簡(jiǎn)單Web投票程序代碼

標(biāo)簽:保定 潮州 北海 吳忠 玉樹(shù) 廣元 肇慶 紹興

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP技術(shù)生成動(dòng)態(tài)web頁(yè)面》,本文關(guān)鍵詞  JSP,技術(shù),生成,動(dòng)態(tài),web,頁(yè)面,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP技術(shù)生成動(dòng)態(tài)web頁(yè)面》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于JSP技術(shù)生成動(dòng)態(tài)web頁(yè)面的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 阜康市| 清流县| 新蔡县| 镇康县| 高淳县| 漯河市| 汕尾市| 星座| 衡山县| 连平县| 重庆市| 修水县| 宁津县| 敦煌市| 扎兰屯市| 策勒县| 湖州市| 玛多县| 上饶县| 大英县| 都安| 同江市| 固镇县| 昌邑市| 电白县| 永福县| 小金县| 长子县| 峨眉山市| 安仁县| 阿城市| 乐亭县| 黄石市| 蒙自县| 临西县| 三河市| 文化| 建德市| 荔浦县| 望谟县| 长岛县|