jsp知識點總結(jié)15頁_第1頁
jsp知識點總結(jié)15頁_第2頁
jsp知識點總結(jié)15頁_第3頁
jsp知識點總結(jié)15頁_第4頁
jsp知識點總結(jié)15頁_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、JSP期末復(fù)習(xí)總結(jié)作者:張煥HTML基礎(chǔ)知識:HTML常用標(biāo)簽和元素charset=”gbk” /設(shè)置字符集 /設(shè)置背景顏色 /設(shè)置背景圖片定義預(yù)先排版的文本自動換行與首行縮進(jìn) 定義一個段落 插入單個換行字體設(shè)置 /插入橫線書簽鏈接書簽鏈接錨點1、JSP容器一個完整的JSP頁面通常需要具有幾個要素:JSP標(biāo)記。JSP標(biāo)記包括Action、Custom標(biāo)記等。JSP標(biāo)簽既可以是單一標(biāo)簽,也可以是成對標(biāo)簽。2、JSP注釋在JSP頁面中,注釋的內(nèi)容不會被執(zhí)行,有以下幾種注釋方式:3、JSP腳本元素(1)聲明(可以是變量或方法) P116(2)小腳本(Scriptlet)(3)表達(dá)式JSP表達(dá)式用來把

2、Java數(shù)據(jù)直接插入到輸出。其語法如下: %= Java Expression % 計算Java表達(dá)式得到的結(jié)果被轉(zhuǎn)換成字符串,然后插入到頁面。計算在運行時進(jìn)行(頁面被請求時),因此可以訪問和請求有關(guān)的全部信息。 需注意:不能使用分號“;”作為表達(dá)式的結(jié)束符。(4)注意:每一個jsp文件會被轉(zhuǎn)化成為一個servlet,也就是一個java類在里面定義的變量在_jspservice方法中,是局部變量在里面寫的東西是jsp生成的這個類的成員變量 4、JSP指令元素只是告訴jsp引擎對jsp頁面如何編譯,不包含業(yè)務(wù)邏輯,也不修改輸出流。編譯指令能夠改變把JSP程序轉(zhuǎn)換成Servlet程序代碼的結(jié)果。也

3、就是說,使用不同的編譯指令會使JSP程序有不同的執(zhí)行方式。 (1) page指令指令用作對整個JSP頁面的初始設(shè)置page指令可以在一個頁面中出現(xiàn)多次page指令中的屬性一般只出現(xiàn)一次,import除外*兩數(shù)相除程序*文件名稱: compute.htm 整 數(shù) 除 法 運 算 被除數(shù):除數(shù): 文件名稱:check.jsp錯誤異常檢測頁面%int checki=0;int checkor=0;int result=0; trychecki=Integer.parseInt(request.getParameter(value1);catch(NumberFormatException nfex)

4、throw new NumberFormatException(被除數(shù)不是整數(shù)!);trycheckor=Integer.parseInt(request.getParameter(value2);catch(NumberFormatException nfex)throw new NumberFormatException(除數(shù)不是整數(shù)!);result=checki/checkor;out.println(正確運算結(jié)果:);out.println(checki+/+checkor+=+result);%返回文件名稱:error.jsp錯誤處理頁面錯誤信息返回(2)include指令 用于J

5、SP頁面轉(zhuǎn)換成Servlet時引入其他文件。該指令語法如下: 這里所指定的URL是和發(fā)出引用指令的JSP頁面相對的URL Include指令只有一個屬性:file。(3)taglib指令Taglib 指令定義一個標(biāo)簽庫以及其自定義標(biāo)簽的前綴。這里自定義的標(biāo)簽含有標(biāo)簽和元素之分。5、JSP動作(1)Jsp:include動作用于在當(dāng)前的JSP頁面中加入靜態(tài)和動態(tài)的資源。上節(jié)介紹的include指令是一種JSP指令,它包含的文件只能是靜態(tài)的。有page和flush兩個屬性:Page可以代表一個相對路徑,即你所要包含進(jìn)來的文件位置或是經(jīng)過表達(dá)式運算出來的相對路徑。Flush接受的值為boolean,

6、ture:緩沖區(qū)滿時,將會被清空。默認(rèn)值為false。(2)Jsp:forward動作用來把當(dāng)前的JSP頁面重導(dǎo)到別一個頁面上,用戶看到的地址是當(dāng)前頁面的地址,而內(nèi)容則是另一個頁面的。 (3)動作用于傳遞參數(shù),必須、動作一起使用。 (4)動作 Id=”beanName” scope=”page|request|session|application” page bean能在當(dāng)前JSP頁而又及此頁面包含的所有靜態(tài)文件中被使用。 (5)動作jsp:plugin動作用來根據(jù)瀏覽器的類型,插入通過Java插件 運行Java Applet所必需的OBJECT或EMBED元素。 (6)(7)jsp:par

7、am name=“” value=“”(8) Jsp:setPropety動作用來在一個JSP頁面中設(shè)置已創(chuàng)建的bean的屬性值,它的語法格式如下: 其中name屬性對應(yīng)值必須為創(chuàng)建組件時的id值,property指定要設(shè)定屬性的屬性名,value為設(shè)定的屬性值。 (9) Jsp:getProperty動作用來返回一個已創(chuàng)建的bean的屬性值。它的作用與jsp:setProperty正好相反。 例如,下面的語句從bean實例myCar中返回一個car屬性值。 6、會使用javaBeann 一個完整JavaBean在類的命名上需要遵守4點。n 1、如果類的成員變量的名字是xxx,那么為了更改或獲

8、取成員變量的值,在類中使用兩個方法:n getXxx(),用來獲取屬性xxx。n setXxx(),用來修改屬性xxx。n 2、對于boolean類型的成員變量,允許使用is代替get和set。n 3、類中方法的訪問屬性必須是public的。n 4、類中如果有構(gòu)造方法,那么這個構(gòu)造方法也是public的,并且是無參數(shù)的。n 在JSP中專門提供三個頁面指令來和JavaBean交互,分別是jsp:useBean指令、jsp:setProperty指令和jsp:getProperty指令。n jsp:useBean指令指定JSP頁面中包括的JavaBean,具體的語法格式為:n 其中,id是當(dāng)前頁面

9、中引用JavaBean的名字,JSP頁面中的Java代碼將使用這個名字來訪問JavaBean。scope:指定JavaBean的作用范圍,可以取4個值。 n page:JavaBean只能在當(dāng)前頁面中使用。在JSP頁面執(zhí)行完畢后,該JavaBean將會被進(jìn)行垃圾回收。n request:JavaBean在相臨的兩個頁面中有效。n session:JavaBean在整個用戶會話過程中都有效。n application:JavaBean在當(dāng)前整個Web應(yīng)用的范圍內(nèi)有效。n jsp:setProperty指令功能是設(shè)置JavaBean的屬性。n jsp:getProperty指令功能是得到某個Jav

10、aBean的屬性值。JavaBean 應(yīng)用實例:這個程序是我在網(wǎng)上找的javabean然后修改的,考試應(yīng)該是和這個類似,時間關(guān)系,沒有表注釋,如果有什么問題,可以交流一下哈j6_01.java文件的代碼:package Bean;import java.io.*;public class j6_01 int radius;public j6_01() radius=1;public int getRadius()return radius;public void setRadius(int newRadius)radius=newRadius;public double circleArea(

11、) return Math.PI*radius*radius;public double circlLength()return 2.0*Math.PI*radius;j6-03.jsp的代碼: 調(diào)用jsp:setProperty之前: 圓的半徑是: 圓的周長是: 圓的面積是: 調(diào)用jsp:setProperty之后:圓的半徑是: 圓的周長是: 圓的面積是: 7、作用域: page 只作用在當(dāng)前的JSP頁面范圍內(nèi) request 作用范圍是一次用戶請求 session 作用范圍是一段用戶持續(xù)和服務(wù)器所連接的時間 application 指定該屬性的生命周期和JSP應(yīng)用程序的周期相同8、內(nèi)置對象

12、 request對象 response對象 pageContext對象 session對象 out對象 application對象 config對象 page exception(1) request 用戶在使用request變量時,會通過它所引用的HttpServletRequest對象向JavaServer Pages提供了以下類型的服務(wù): 訪問請求參數(shù) 在請求作用域中管理屬性 獲取cookie 訪問請求報頭 訪問請求行元素 訪問安全信息 訪問國際化信息cookie的程序: Cookie c1=new Cookie(cookie1,cookietest1); response.addCoo

13、kie(c1); Cookie cookiearg=request.getCookies(); for(int i=0;icookiearg.length;i+) if(cookieargi.getName().equals(cookie1) out.print(cookieargi.getValue(); break; (2) responseHttpServletResponse對象具有頁面作用域,這意味著它只在JSP頁面內(nèi)有效,只要_jspService方法返回,響應(yīng)就會超出作用域。與request對象不同,request對象是生成的服務(wù)器程序的_jspService方法的一個形參。下面

14、這段代碼取自Tomcat容器所生成的服務(wù)器程序,其中顯示了這個參數(shù)。(3) sessionsession對象引用javax.servlet.http.HttpSession對象,它封裝了屬于客戶會話的所有信息。按照設(shè)計,HTTP是無狀態(tài)的。服務(wù)器程序和JavaServer Pages通過提供幾種支持會話跟蹤的機(jī)制而增強(qiáng)了這種無狀態(tài)結(jié)構(gòu)。(4) outJavax.servlet.jsp.JspWriter對象是通過out內(nèi)置對象來引用的。JspWriter模擬一個java.io.PrintWriter的行為,但是只要出現(xiàn)I/O錯誤,它就在其所有顯示方法中產(chǎn)生java.io.IOException

15、異常。如果JSP頁面是緩沖的(默認(rèn)行為),那么JspWriter對象還模擬一個java.io.BufferedWriter。 (5) applicationapplication隱含對象封裝了Web應(yīng)用中所有Servlet、JSP頁面、HTML頁面和其他資源的集合屬性。此對象實現(xiàn)了javax.servlet.ServletContext在_jspService()方法開始自動被創(chuàng)建。它提供關(guān)于服務(wù)器版本、應(yīng)用級初始化參數(shù)和應(yīng)用內(nèi)資源絕對路徑的信息。 Application變量是一個對web application有效的全局變量,在保存一些全局有效的值時非常有用 一旦創(chuàng)建,除非服務(wù)器關(guān)閉,否則一

16、直保持下去 在引用application變量時,必須使用同步(因為可能有多個用戶同時在訪問它)。并且需要測試application的屬性是否已經(jīng)存在相關(guān)方法: application.setAttribute() Application.getAttribute() 當(dāng)服務(wù)器啟動時,就產(chǎn)生了這個application對象,當(dāng)客戶在訪問的網(wǎng)站的各個頁面之間瀏覽時,這個application對象都是同一個,和session的區(qū)別在于,application對所有客戶來說都是同一個,所有客戶共享這個內(nèi)置的applicationapplication程序:if(application.getAttri

17、bute(count)=null)application.setAttribute(count,1);elseapplication.setAttribute(count,String.valueOf(Integer.parseInt(application.getAttribute(count).toString()+1);(6) pagepage對象是可以從JSP腳本程序和表達(dá)式中獲得的一隱含變量,它對應(yīng)于處理當(dāng)前請求的JSP頁面的實現(xiàn)類的實例。JSP頁面實現(xiàn)類是在首次執(zhí)行JSP頁面時自動生成的。(7) exceptionexception對象提供了對出錯的JSP頁面內(nèi)的異常的訪問,這些出

18、錯的JSP頁面是使用page指令的errorPage屬性聲明的。_jspService方法捕獲到JSP頁面內(nèi)產(chǎn)生的異常,然后將其重定向到一個默認(rèn)頁面或一個聲明的錯誤頁面。如果用戶沒有聲明為錯誤頁面的任何頁面中,該對象都無法使用。一個頁面是使用page指令的isErrorPage屬性被聲明為錯誤頁面的。(8) config 提供了訪問這些參數(shù)、servlet上下文件(應(yīng)用)和servlet名字的方法 。 9、servletServlet是在服務(wù)器端運行的,是javax.servlet包中HttpServlet類的子類,由服務(wù)器完成該子類的創(chuàng)建和初始化。n Servlet的生命周期主要由3個過程組

19、成。n 1、init()方法:服務(wù)器初始化Servlet。n 2、service()方法:初始化完畢,Servlet對象調(diào)用該方法相應(yīng)客戶的請求。n 3、destroy()方法:調(diào)用該方法消滅Servlet對象。n 其中,init()方法只在Servlet第一次被請求加載的時候被調(diào)用一次,當(dāng)有客戶再請求Servlet服務(wù)時,Web服務(wù)器將啟動一個新的線程,在該線程中,調(diào)用service方法相應(yīng)客戶的請求。n doGet和doPost方法分別對應(yīng)Form表單的屬性method屬性,method屬性有兩種Get和Post。servlet實例:HelloWorld.javapublic class

20、HelloWorld extends HttpServlet public HelloWorld() super();public void destroy() super.destroy(); public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html); PrintWriter out = response.getWriter(); out.println();

21、 out.println(); out.println(Hello World!); out.println(); out.println(); out.println(Hello World!); out.println(); out.println();public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request,response);public void init() throws ServletE

22、xception 10、分頁程序(servlet實現(xiàn)):這個是我自己做的,程序比較長,不過考試的時候應(yīng)該是只考里面的部分代碼!時間關(guān)系,沒有表注釋,如果有什么問題,可以交流一下哈web.xml配置: Display com.users.paging.Display search com.users.paging.search Display /servlet/Display search /servlet/search search.javapackage com.users.paging;import java.io.IOException;import java.io.PrintWrite

23、r;import javax.servlet.ServletException;import javax.servlet.http.*;public class search extends HttpServlet public search() super();public void destroy() super.destroy(); public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setConte

24、ntType(text/html;charset=gbk);PrintWriter out = response.getWriter();out.println();out.println( 圖書查詢);out.println( 圖書查詢);out.println();out.println();out.println();out.println(書  名:);out.println();out.println();out.println();out.println(作  者:);out.println();out.println();out.print

25、ln();out.println(出版社:);out.println();out.println();out.println();out.println();out.println();out.println();out.println();out.println( );out.println();out.flush();out.close();public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request

26、, response);public void init() throws ServletException Display.javapackage com.users.paging;import java.io.IOException;import java.io.PrintWriter;import java.sql.*;import javax.servlet.ServletException;import javax.servlet.http.*;public class Display extends HttpServlet public Display() super();publ

27、ic void destroy() super.destroy();public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException HttpSession session=request.getSession();response.setContentType(text/html);response.setCharacterEncoding(gbk);PrintWriter out = response.getWriter();int

28、rowCount;int pageSize=10;int nowPage;int pageCount;if(request.getParameter(chaxun)!=null)String sql=select * from book where id is not null;String arr=new String3;String param=new String3;param0=request.getParameter(bookname);param1=request.getParameter(author);param2=request.getParameter(publisher)

29、;arr0= and bookname like %+param0+%;arr1= and author like %+param1+%;arr2= and publisher like %+param2+%;for(int i=0;i3;i+) if(!parami.equals() sql+=arri; session.setAttribute(sql,sql);if(session.getAttribute(sql)=null)session.setAttribute(sql, select * from book);if(request.getParameter(thisPage)!=

30、null)nowPage=Integer.parseInt(request.getParameter(thisPage);elsenowPage=1; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn=DriverManager.getConnection(jdbc:odbc:bookDB); Statement st=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); ResultSet rs=st.executeQuery(session.getAttribute(sql).toString(); rs.last(); rowCount=rs.getRow(); if(rowCou

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論