版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、JSP示例(Hello.jsp),, 你好 , 你好 你好 ,,,JSP執(zhí)行過程,,*.jsp,*.java,*.class,servlet,,servlet 分析器,JSP執(zhí)行過程,,三、JSP編程基礎(chǔ),Java特性及入門基礎(chǔ)HTML簡介3. JavaScript簡介,3.2 HTML簡介,HTML頁面的基本結(jié)構(gòu) 01.html使用鏈接標(biāo)記
2、 link-.html使用字體標(biāo)記 font.htmlform標(biāo)記的使用table標(biāo)記的使用,HTML表單,Web運行原理HTML表單的概念表單元素介紹HTML表單的客戶端確認(rèn)服務(wù)器端的確認(rèn),Web運行原理,客戶端同Web服務(wù)器之間的協(xié)議為httpHTTP為超文本傳輸協(xié)議HTPP協(xié)議為“請求和響應(yīng)”協(xié)議客戶端請求包括:請求行、頭、信息體客戶端請求的方法GET、POST
3、、HEADDELETE、TRACE、PUT提交表單的方法: GET、POST,Web運行原理,服務(wù)器接收到請求后,返回HTTP響應(yīng)每個響應(yīng):狀態(tài)行、頭、信息體常見狀態(tài)404 所請求的文件不存在500 服務(wù)器程序出錯200 OK 成功信息體用于瀏覽器顯示,HTML表單,表單是具有輸入域、文本域的頁面用于客戶端同服務(wù)器端交互用戶在客戶端填寫表單,然后“提交”表單中的信息發(fā)送到服務(wù)器服務(wù)器返回處理情況,HTML表
4、單標(biāo)記,表單主標(biāo)記 表單中的標(biāo)記 是表單開始標(biāo)記,結(jié)束,表單的例子,表單 用戶登錄 用戶名: 密碼: ,運行結(jié)果,form標(biāo)記,描述表單的特性,語法method表單傳輸方法GET方法POST方法action為表單處理方式,通常為一個URLenctype為編碼方式,標(biāo)記,表單中輸入信息的區(qū)域?qū)傩?/p>
5、type 類型name 名稱id 標(biāo)識maxlength 最大字符數(shù)size 輸入域?qū)挾葀alue 域的初始值button 按鈕 用javascript響應(yīng),的類型,text 文本passwowrd 口令方式checkbox 多選框 name相同radio 單選按鈕 name相同image 圖片hidden 隱藏表單 發(fā)送數(shù)據(jù)submit 提交按鈕 向服務(wù)器提
6、交表單reset 復(fù)位按鈕 將表單充置為初始狀態(tài),文本框:TEXTAREA,多行文本域: 參數(shù)COLS:寬度ROWS:高度NAME:名稱CPU PIV 1500Memory 512M ,下拉框:SELECT,定義列表框: 參數(shù)MULTIPLE 可同時選取多行NAME 名稱SIZE 可見項目數(shù)每個項目用option標(biāo)記屬性SELECTED出現(xiàn)在option表示選中,select的例子,
7、 北京 天津 上海 重慶 ,表單提交,提交方式:submit類型按鈕提交表單通過普通按鈕的javascript函數(shù)傳輸方法依據(jù)中的method推薦使用POST傳輸編碼依據(jù)中的enctype處理方式依據(jù)中的action ,表單清除,reset按鈕重置表單為初始值 ,綜合例子,表單 用戶注冊用戶名: 密
8、碼: 你喜歡: 足球 籃球, 性別: 男 女 你的計算機CPU PIV 1500Memory 512M 你計算機的操作系統(tǒng), 你所在地: 北京 天津 上海 重慶 ,運行結(jié)果,表單的確認(rèn),客
9、戶端確認(rèn)減少服務(wù)器負(fù)載縮短用戶等待時間兼容性難服務(wù)器端確認(rèn)統(tǒng)一確認(rèn)兼容性強服務(wù)器負(fù)載重,客戶端確認(rèn),采用javascript進行確認(rèn)常用函數(shù)isBetweenisDateisTimeisDigitisEmailisEmptyisIntisReal,客戶端確認(rèn)例子,客戶端確認(rèn) 用戶登錄 用戶名: 密碼:
10、 ,function checkform(frm){var flag=true;if(frm.name.value==""){ alert("姓名不能為空,請輸入值!"); frm.name.focus(); flag=false; }return flag;},運行結(jié)果,JSP與客戶機的交互,從表單中獲得參數(shù)返回
11、參數(shù)表單的服務(wù)器端確認(rèn),從表單中獲得參數(shù),JSP通過request內(nèi)置對象獲取表單信息用不同的方法獲取不同種類的信息獲取參數(shù)的主要方法:getParameter() 獲取參數(shù)的值getParameterNames() 獲取所有參數(shù)名的枚舉getParameterValues() 獲取一個參數(shù)的多個值,getParameter(),可以獲得文本框、文本區(qū)域、單選、多選的值表單中各元素的NAME屬性是它的唯一標(biāo)識,用
12、它獲取參數(shù)。例如: request.getParameter("User");,向客戶端輸出,使用內(nèi)置對象out out.println(“用戶名:" +User+"");使用“”使用內(nèi)置對象applicatioin 位訪問者! ……,表單的服務(wù)器端確認(rèn),在客戶端不能用JSP進行確認(rèn)分工:數(shù)據(jù)處理在服務(wù)器端實效性:客戶端得到
13、服務(wù)器確認(rèn)后表明數(shù)據(jù)已經(jīng)到達服務(wù)器客戶端兼容性好缺點:增加服務(wù)器負(fù)載和用戶等待時間,服務(wù)器端確認(rèn)方法,采用Java類對表單數(shù)據(jù)進行檢查采用JSP進行確認(rèn),服務(wù)器端確認(rèn)的例子,服務(wù)器端確認(rèn) 用戶登錄 用戶名: 密碼: ,loginAction.jsp,確認(rèn)JSP");out.println("密碼:"+pwd+&qu
14、ot;");}else{%>,用戶名不能為空 用戶登錄 用戶名:"> 密碼:"> ,運行結(jié)果(TOMCAT),(未輸入姓名)直接提交,輸入用戶名,輸入用戶名后提交,3.3 JavaScript簡介,JavaScript是腳本語言,用來實現(xiàn)客戶端的特效,客戶端用
15、戶信息輸入的驗證等。myjsp/02/formcheck.htm,四、 服務(wù)器配置,Tomcat應(yīng)用服務(wù)器Resin應(yīng)用服務(wù)器,五、 JSP語法,JSP的腳本語句JSP的編譯指示語句JSP的動作語句,JSP文件結(jié)構(gòu)及主要標(biāo)簽,... 其他 HTML 語言 其他 HTML 語言 ,JSP示例(Hello_Date.jsp),, 你好,今天是 號, 星期 ,
16、import java.util.*;response.setContentType("text/html; charset=gb2312");out = pageContext.getOut();out.write(“\r\n\r\n\r\n \r\n你好,今天是\r\n"); Date today=new Date();out.print(
17、today.getDate());out.write("號,星期");out.print(today.getDay());out.write(" \r\n \r\n\r\n ");,,JSP文件,servlet文件,JSP語法概述,JSP原始代碼中包含了JSP元素和Template(模板) data兩類 Template data指的是JSP引擎不處理的部分,即標(biāo)記以外的部分,例如代碼中
18、的HTML的內(nèi)容等 ,這些數(shù)據(jù)會直接傳送到客戶端的瀏覽器JSP元素則是指將由JSP引擎直接處理的部分,這一部分必須符合JSP語法,否則會導(dǎo)致編譯錯誤。,jsp例子(hi.jsp),Hi-JSP實驗 ,,,Template data,JSP元素,JSP語法,JSP語法分為三種不同的類型 編譯器指令(DIRECTIVE) 例如: 腳本語法(SCRI
19、PTING) 動作語法(ACTION) 例如: ,,JSP中的腳本語句,腳本語句包括“HTML注釋”:“隱藏注釋”:“聲明”: “表達式” “腳本段” ,JSP的編譯指示語句,編譯器指令包括“include”指令, “page”指令和“taglib”指令它們包含在“”卷標(biāo)里。,JSP的動作語句,動作語法包括 ,,, ,,。,HTML注釋,JSP 語法格式如下: ] --> 或 ] -->
20、這種注釋發(fā)送到客戶端,但不直接顯示,在源代碼中可以查看到,JSP指令仍被編譯執(zhí)行。,HTML注釋(teach\4-1.jsp),HTML>HTML注釋顯示出來的文字!,HTML注釋(4-2.jsp),要多加練習(xí) 被訪問 -->在源文件中包括當(dāng)前時間。 ,隱藏注釋,JSP 語法格式如下: JSP編譯器不對之間的語句進行編譯,不發(fā)送到客戶端,在瀏覽器中的”查看源代碼”中看不到。
21、,隱藏注釋 (4-3.jsp), A Comment Test A Test of Comments ,聲明,JSP 語法格式如下: ,4-4.jsp,表達式,用于在頁面上輸出信息,語法格式如下: ,表達式(4-5.jsp), test , a=b=c=,4-5.jsp執(zhí)行結(jié)果,Scriptlet腳本段,JSP 語法格式如下:,
22、");break; case 1: out.println("You select condition 1!"+""); break; case 2:out.println("You select condition 2!"+""); break; de
23、fault:out.println("Your select not in 0,1,2“); }%> ,4-6.jsp,include包含指令,include指令:向當(dāng)前頁中插入一個靜態(tài)文件或動態(tài)文件。JSP 語法格式如下: 或, test The current date and time are
24、 //curDate.jsp ,Page指令,“Page”指令用于定義JSP文件中的全局屬性。 JSP 語法格式如下:<%@ page [ language="java" ] [ extends="package.class" ] [import="{package.class | package.*},..." ]
25、[ session="true | false" ] [ buffer="none | 8kb | sizekb" ],Page指令,[ autoFlush="true | false" ] [ isThreadSafe="true | false" ] [ info="text" ] [ e
26、rrorPage="relativeURL" ] [ contentType="mimeType [;charset=characterSet]" | "text/html; charset=ISO-8859-1" ] [ isErrorPage="true | false" ] %>,page指令詳說,“”指令作用于整個J
27、SP頁面,同樣包括靜態(tài)的包含文件。但是“”指令不能作用于動態(tài)的包含文件,比如 “”??梢栽谝粋€頁面中用上多個“”指令,但是其中的屬性只能用一次,不過也有例外,那就是import屬性。因為import屬性和Java中的import語句類似(參照J(rèn)ava Language,import語句引入得是Java語言中的類),所以此屬性就能多用幾次。無論把“”指令放在JSP的文件的哪個地方,它的作用范圍都是整個JSP頁面。不過,為了JSP程序的
28、可讀性,以及好的編程習(xí)慣,最好還是把它放在JSP文件的頂部。,page指令(4-9.jsp), testTest for using 'Page'.,taglib指令,JSP語法 用于引入定制標(biāo)簽庫,taglib指令,屬性1.uri="URIToTagLibrary" Uniform Resource Identifier (URI)根據(jù)標(biāo)簽的前綴對自定義的標(biāo)
29、簽進行唯一的命名,URI可以是以下的內(nèi)容:Uniform Resource Locator (URL), 由 RFC 2396 定義, 可以從以下位置查看 (http://www.hut.fi/u /jkorpela/rfc/2396/full.html)。 Uniform Resource Name (URN), 由 RFC 2396定義 一個相對或絕對的路徑 可以是標(biāo)簽庫描述文件,2.prefix=&q
30、uot;tagPrefix" 表示標(biāo)簽在JSP中的名稱。在自定義標(biāo)簽之前的前綴,比如,在中的public,如果這里不寫public,那么這就是不合法的。請不要用jsp, jspx, java, javax, servlet, sun, 和sunw做為你的前綴,這些已被Sun公司聲明保留。,Tablib示例, test ,,JSP語法格式如下:1."} />
31、 2."} > }" /> [] (可以有多個 [] … ]標(biāo)記。),1、page="{relativeURL | }" 這里是一個表達式或是一個字符串用于說明你將要定向的文件或URL。這個文件可以是JSP,程序段,或者其它能夠處理request對象的文件(如asp,cgi,php)。 2.}" /> 向一個動態(tài)文件發(fā)送一
32、個或多個參數(shù),如果想傳遞多個參數(shù),可以在一個JSP文件中使用多個“”;“name”指定參數(shù)名,“value”指定參數(shù)值。3. “”標(biāo)簽從一個JSP文件向另一個文件傳遞一個包含用戶請求的request對象。“”標(biāo)簽以后的代碼將不執(zhí)行。,例子,test,forwardTo.jsp,,(teach/jsp4/forward.html, testforward1.jsp),,包含一個靜態(tài)或動態(tài)
33、文件,JSP 語法格式如下:1.}" flush="true" /> 2.}" flush="true" >}" /> [] (“[]”指可以有多個“”標(biāo)記)注意:在JSP頁面被請求時才將指定文件的內(nèi)容插入到服務(wù)器的 響應(yīng)輸出中。,的屬性,1.page="{relativeURL
34、 | }" 參數(shù)為一相對路徑,或者是代表相對路徑的表達式。 2.flush="true" 這里必須使用flush=“true”,不能使用false值。而缺省值為false 。3. }"/> “”用來傳遞一個或多個參數(shù)到指定的動態(tài)文件,能在一個頁面中使用多個“”來傳遞多個參數(shù),, 例子(peixun2.10.jsp),peixun.2.10.jsp
35、 ,included.jsp,");%>,運行結(jié)果,,使用“”插入一個applet或Bean,必要的話還要下載一個Java插件用于執(zhí)行它。JSP 語法格式如下:<jsp:plugin type="bean | applet" code="classFileName" codebase="classFileDirectoryN
36、ame",[ name="instanceName" ] [ archive="URIToArchive, ..." ] [ align="bottom | top | middle | left | right"] [ height="displayPixels" ] [ width="displayPixels" ]
37、 [ hspace="leftRightPixels" ] [ vspace="topBottomPixels" ] [ jreversion="JREVersionNumber | 1.1" ] [ nspluginurl="URLToPlugin" ] [ iepluginurl="URLToPlugin" ] >,[
38、 [ }" /> ] ] [ text message for user ] ,例子, Unable to load applet
39、160; ,,創(chuàng)建一個JavaBean實例并指定它的名字和作用范圍。 JSP 語法格式如下: ,屬性以及用法,1.id="beanInstanceName" 在所定義的范圍中確認(rèn)Bean的變量,使之能在后面的程序中使用此變量名來分辨不同的Bean ,這個變量名對大小寫敏感,必須符合所使用的腳本語言的規(guī)定,這個規(guī)定在Java Language 規(guī)范已經(jīng)寫明。如果Bean已經(jīng)在別的“”
40、標(biāo)記中創(chuàng)建,則當(dāng)使用這個已經(jīng)創(chuàng)建過Bean時,id的值必須與原來的那個id值一致;否則則意味著創(chuàng)建了同一個類的兩個不同的對象。,2.scope="page|request|session|application" Bean存在的范圍以及id變量名的有效范圍。缺省值是page,以下是詳細(xì)說明: page - 能在包含“”元素的JSP文件以及此文件中的所有靜態(tài)包含文件中使用這個Bean,直到頁面執(zhí)行完畢向客戶端
41、發(fā)回響應(yīng)或轉(zhuǎn)到另一個文件為止。request - 在任何執(zhí)行相同請求的Jsp文件中使用這個Bean,直到頁面執(zhí)行完畢向客戶端發(fā)回響應(yīng)或轉(zhuǎn)到另一個文件為止。能夠使用Request對象訪問這個Bean,比如request.getAttribute(beanInstanceName)。 session - 從創(chuàng)建Bean開始,就能在任何使用相同session的jsp文件中使用這個Bean。這個Bean存在于整個Session生存周期內(nèi),任
42、何在分享此Session的Jsp文件都能使用同一Bean。注意在創(chuàng)建這個Bean的Jsp文件中“”指令中必須指定“session=”true“”。application - 從創(chuàng)建Bean開始,就能在任何使用相同application的Jsp文件中使用Bean。這個Bean存在于整個application生存周期內(nèi),任何在分享此application的Jsp文件都能使用同一Bean.,3.class="package.cla
43、ss" 使用new關(guān)鍵字以及class構(gòu)造器從一個class中實例化一個bean。這個class不能是抽象的,必須有一個公用的,沒有參數(shù)的構(gòu)造器。這個package的名字區(qū)別大小寫。 4.type="package.class" 如果這個Bean已經(jīng)在指定的范圍中存在,那么賦予這個Bean一個的數(shù)據(jù)類型 。如果使用type屬性的同時沒有使用class或beanName,Bean將不
44、會被實例化。注意package和class的名稱區(qū)分大小寫。,,JSP 語法格式如下: 1.name="beanInstanceName" bean的名字,由指定。 2.property="propertyName" 所指定的Bean的屬性名。,例子,//聲明引用的beantest Calendar of ,,設(shè)置Be
45、an的屬性值. JSP 語法格式如下:}" />,屬性,1.name="beanInstanceName" 表示已經(jīng)在“”中創(chuàng)建的Bean實例的名字。2.property="*" 儲存用戶在jsp輸入的所有值,用于匹配Bean中的屬性。3.property="propertyName" [ param="parameterNa
46、me" ] 用一個參數(shù)值來指定Bean中的一個屬性值,一般情況下是從request對象中獲得的。其中property指定Bean的屬性名,param指定request中的參數(shù)名。4.property="propertyName" value="{string | }" 使用指定的值來設(shè)定Bean屬性。這個值可以是字符串,也可以是表達式。如果這個字符串,那么它就會被轉(zhuǎn)換成Bean屬性
47、的類型。如果是一個表達式,那么它的類型就必須和將要設(shè)定的屬性值的類型一致。 如果參數(shù)值為空值,那么對應(yīng)的屬性值也不會被設(shè)定。此外,不能在同一個“”中同時使用param和value參數(shù) 。,package myBean;public class Student { private long classNo; private String name; private int age; private boolean sexy;
48、 public Student() {//構(gòu)造函數(shù) classNo=970431; name="ZZZl"; age=34; sexy=true; } public long getClassNo() { return classNo; } public void setClassNo(long no) { this.classN
49、o=no; },例://建立javaBean: myBean.Student,例子,public String getName() { return name; } public void setName(String name) { this.name=name; } public int getAge() { return age; } public void set
50、Age(int age) { this.age=age; } public boolean getSexy() { return sexy; } public void setSexy(boolean sexy) { this.sexy=sexy; }}, ,,第一次運行結(jié)果,以后運行結(jié)果,第一行發(fā)生變化,測試ses
51、sion作用域, , ,運行結(jié)果,3.4 JSP內(nèi)置對象,JSP 有以下九種內(nèi)置對象,包括:request,請求對象response,響應(yīng)對象pageContext,頁面上下文對象session,會話對象application,應(yīng)用程序?qū)ο髈ut,輸出對象config,配置對象page,頁面對象exception,例外對象,綜述,有幾種對象和ASP的內(nèi)
52、置對象差不多,功能也類似,這是因為這些內(nèi)置對象的構(gòu)建基礎(chǔ)是標(biāo)準(zhǔn)化的HTTP協(xié)議。從本質(zhì)上講,JSP的這些內(nèi)置對象其實都是由特定的Java類所產(chǎn)生的,在服務(wù)器運行時根據(jù)情況自動生成,表3.1給出了他們的對應(yīng)關(guān)系。需要注意的問題是對象名的寫法,包括這些對象方法的調(diào)用都要注意大小寫。,JSP內(nèi)置對象映射表,,request和response,“request” 對象代表的是來自客戶端的請求,例如我們在FORM表單中填寫的信息等,是最常用的對象
53、。關(guān)于它的方法使用較多的是getParameter、getParameterNames和getParameterValues,通過調(diào)用這幾個方法來獲取請求對象中所包含的參數(shù)的值“response” 對象代表的是對客戶端的響應(yīng),也就是說可以通過“response”對象來組織發(fā)送到客戶端的數(shù)據(jù)。發(fā)送文字時直接使用“out” 對象即可。 response.sendRedirect(“URL”); response.setCo
54、ntentType(”text/html”);,request getParameter示例,, 姓名 ,,request對象示例(Hello_req.jsp), 你好, , 今天是 號,星期 ,輸出結(jié)果,/teach/jsp6/login.html -> jsp6/jsp/login.jsp, 你好,獨孤求敗, 今天
55、是 9號,星期1 ,,request對象其他方法,1.getAttribute原型:public java.lang.Object getAttribute(java.lang.String name)說明:以對象的形式返回特定名稱的屬性值。參數(shù):name 一個標(biāo)示屬性名的字符串返回值:一個包含屬性值的對象,當(dāng)屬性不存在是為空。 2. getContentLength、getServerPort()、getServe
56、rName()、getProtocol、getRemoteAddr、getHeaderNames、getMethod()、getServletPath、isRequestedSessionIdValid /teach/jsp6/form.html,out對象,“out” 對象代表了向客戶端發(fā)送數(shù)據(jù)的對象,與“response” 對象不同,通過“out” 對象發(fā)送的內(nèi)容將是瀏覽器需要顯示的內(nèi)容,是文本形式的,可以通過“o
57、ut” 對象直接向客戶端寫一個由程序動態(tài)生成HTML文件。常用的方法除了pirnt和println之外,還包括clear、clearBuffer、flush、getBufferSize和getRemaining,這是因為“out” 對象內(nèi)部包含了一個緩沖區(qū),所以需要一些對緩沖區(qū)進行操作的方法。testBuffer.jsp ; testSystem.jsp,session對象,“session” 對象代表服務(wù)器與客戶端所建立的會話,當(dāng)
58、需要在不同的JSP頁面中保留客戶信息的情況下使用,比如在線購物、客戶軌跡跟蹤等?!皊ession” 對象建立在cookie的基礎(chǔ)上,所以使用時應(yīng)注意判斷一下客戶端是否打開了cookie。常用的方法包括getId、 getValue、 getValueNames和putValue等。,session對象,概要HTTP是無狀態(tài)(stateless)協(xié)議;Web服務(wù)器對每一個客戶端請求都沒有歷史記憶;Session用來保存客戶端狀態(tài)信息
59、;由Web服務(wù)器寫入;存于客戶端;客戶端的每次訪問都把上次的session記錄傳遞給Web服務(wù)器;Web服務(wù)器讀取客戶端提交的session來獲取客戶端的狀態(tài)信息;,session對象示例(Form表單—Logon_session.html),, 姓名 ,,session對象示例Logon_session.jsp,, 你的名字""已經(jīng)寫入session
60、 check ,,session對象示例(Check_session.jsp),, 您還未登錄 ""已經(jīng)登錄 ,,,session使用示例,/teach/jsp6/testsession.html ->testsession1.jsp->testsession2.jsp->testsession3.jsp,cookie對象,,用來保存少量的信息,/m
61、yjsp/06/VisitTimes.jsp,顯示登陸次數(shù)");out.println("alert('歡迎首次光臨!')");out.println("");}else {out.println("");out.println("alert('您已經(jīng)光臨了" + Counter + "
62、; 次')");out.println("");}%>,application對象,application對象負(fù)責(zé)提供應(yīng)用程序在服務(wù)器中運行時的一些全局信息,常用的方法有l(wèi)og()、getMajorVersion()、getMinorVersion()、getMimeType()、getRealPath()、getResouce()、getResourceAsStream()、ge
63、tRequestDispatcher()等。session用來保存用戶的個人信息,application是保存所有用戶的公共信息。application.setAttribute(“counter”,”0”);,application對象實現(xiàn)網(wǎng)頁計數(shù)器,網(wǎng)頁計數(shù)器您是第位訪問者!,運行結(jié)果(第一次訪問),,刷新一次,application使用示例,留言板例子: teach/jsp6/board1.jsp->
64、board2.jsp->board3.jsp,pageContext,“pageContext” 對象直譯時可以稱作“頁面上下文”對象,代表的是當(dāng)前頁面運行的一些屬性,常用的方法包括findAttribute、getAttribute、getAttributesScope和getAttributeNamesInScope,一般情況下“pageContext” 對象用的不是很多,只有在項目所面臨的情況比較復(fù)雜的情況下,才會利用到頁面
65、屬性來輔助處理。getServletConfig、getSession、getServletContext、 getOut、getRequest等。 teach/jsp6/testpagecontext.jsp,config、 page、 exception,“config” 對象提供一些配置信息,常用的方法有g(shù)etInitParameter和getInitParameterNames,以獲得Servlet初始化時的參
66、數(shù)。使用getServletContext()來代替application對象。teach/jsp6/testconfig.jsp“page” 對象代表了正在運行的由JSP文件產(chǎn)生的類對象。 testpage.jsp“exception” 對象則代表了JSP文件運行時所產(chǎn)生的例外對象,此對象不能在一般JSP文件中直接使用,而只能在使用了“”的JSP文件中使用 testexception.jsp,exception對象示例,
67、test4.10.jsp,exception對象示例,error.jsp");out.println("exception.getMessage()="+exception.getMessage());%>,JSP內(nèi)置對象小結(jié),介紹了JSP的幾種內(nèi)置對象。熟練使用這些內(nèi)置對象是開發(fā)JSP應(yīng)用程序的基本要求,尤其是對于request、session和application對
68、象更是必須要掌握的。會使用對象所具有的方法,能熟練使用每一種對象的幾種常用方法。,JSP的漢字問題的原理,客戶端和服務(wù)器用gb2312HTTP傳輸編碼用ISO8859_1服務(wù)器需要指示客戶端文檔的編碼方式,JSP的漢字問題出現(xiàn)環(huán)節(jié),客戶端顯示文檔時的編碼方式(由服務(wù)器中的JSP、Servlet指明)客戶端發(fā)送漢字時自動轉(zhuǎn)換為iso8859_1服務(wù)器中采用gb2312對漢字編碼,接收到客戶端漢字需要轉(zhuǎn)換為gb2312服務(wù)器端將
69、JSP轉(zhuǎn)換為Servlet時自動將漢字轉(zhuǎn)換為iso8859_1服務(wù)器端應(yīng)該告訴客戶端漢字的編碼方式,JSP漢字問題,JSP文件的漢字問題表單處理的漢字問題Servlet的漢字問題JDBC的漢字問題,JSP文件的漢字問題,JSP中的漢字字符串在服務(wù)器端用gb2312在編譯為Servlet時自動轉(zhuǎn)換為iso8859_1漢字在傳輸中是正確的在沒有特別指示下,瀏覽器中無法正確顯示在HTML中指示瀏覽器文檔的編碼在JSP中指示
70、JSP引擎文檔的編碼每個要顯示漢字的JSP文檔都應(yīng)該包含該語句,JSP文件的漢字問題(JSPhanzi.jsp),JSP中的漢字問題 ,JSP中的漢字問題 你好,,,JSP中增加編碼指示后,JSP中的漢字問題 ,JSP中的漢字問題 你好,,,表單處理中的漢字問題,表單處理涉及到客戶端和服務(wù)器的完整交互過程在客戶端和服務(wù)器是gb2312,傳輸用ISO8859_1在服務(wù)器
71、端接收到客戶端數(shù)據(jù)時需要轉(zhuǎn)換為gb2312后進行處理,方法name=new String(name.getBytes("ISO8859_1"), "gb2312");服務(wù)器端指示客戶端漢字的顯示編碼,表單處理的漢字問題(hanzi.jsp),表單處理的漢字問題 用戶登錄 用戶名: ,表單處理的漢字問題 用戶登錄 用戶名: ,,,處理過程,
72、表單中漢字的處理 ");%>,表單中漢字的處理 用戶名:????,,,處理過程(修改后),表單中漢字的處理 ");%>,表單中漢字的處理 用戶名:測試,,,Servlet的漢字問題,1. 某個頁面提交中文內(nèi)容給Servlet,Servlet要對提交的內(nèi)容進行轉(zhuǎn)碼工作才能正確接收數(shù)據(jù),通常在servlet中增加以下代碼來解決問題: ht
73、tpServlerRequest.setCharacterEncoding(“GB2312”); 2. Servlet寫中文內(nèi)容到某個頁面, servlet中增加以下代碼: httpServlerResponse.setContentType("text/html; charset=gbk" );protected void doGet(HttpServletRequest request, H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于J2EE的可重用軟件架構(gòu)的設(shè)計與實現(xiàn).pdf
- 基于J2EE架構(gòu)軟件測試的研究與應(yīng)用.pdf
- 基于J2EE架構(gòu)團購網(wǎng)的設(shè)計與實現(xiàn).pdf
- 基于MVC的J2EE架構(gòu)研究與設(shè)計.pdf
- 基于J2EE的EAM系統(tǒng)軟件架構(gòu)的研究.pdf
- 基于J2EE架構(gòu)的軟件總線中權(quán)限管理的設(shè)計與實現(xiàn).pdf
- 基于J2EE架構(gòu)的社交網(wǎng)站的設(shè)計與開發(fā).pdf
- 基于J2EE架構(gòu)的VMI系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于j2ee架構(gòu)的網(wǎng)上商城設(shè)計與實現(xiàn)
- 基于J2EE架構(gòu)網(wǎng)上書店的設(shè)計與實現(xiàn).pdf
- 基于J2EE中間件的軟件體系架構(gòu)的研究.pdf
- 基于J2EE架構(gòu)的協(xié)同辦公系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于J2EE架構(gòu)質(zhì)監(jiān)OA系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于J2EE架構(gòu)的網(wǎng)上閱卷系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于J2EE架構(gòu)的手機書院的設(shè)計與實現(xiàn).pdf
- 基于J2EE架構(gòu)的學(xué)生管理系統(tǒng).pdf
- 基于J2EE架構(gòu)的OA系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于J2EE架構(gòu)的教材管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于J2EE的企業(yè)應(yīng)用體系架構(gòu)的研究與設(shè)計.pdf
- 基于J2EE架構(gòu)的移動銀行平臺的設(shè)計與實現(xiàn).pdf
評論
0/150
提交評論