版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2.1 JSP 概念 test2.4.jsp Jsp聲明的格式如此。主要是變量的定義以及聲明。也可以進(jìn)行初始化。Eg:注意此處“;”的使用。跟java差不多。一定要記住分號。2.1 JSP 概念 test a=b=c=此處是jsp表達(dá)式的結(jié)構(gòu)。JSP腳本段。類似于java代碼。主要用于聲明變量的賦值以及變量表達(dá)式。記住分號的使用以及格式。% %之間沒有任何的符號2.1 JSP 概念2.1 JSP 概念 test %condition=1;switch(condition) case 0: out.println(You must select condition 0!+); break; ca
2、se 1: out.println(You must select condition 1!+); break; case 2: out.println(You must select condition 2!+); break; default: out.println(Your select not in 0,1,2,select again!+);% 從這兒開始到下一個%結(jié)束,都是jsp的腳本段。類似java 的語句。2.1 JSP 概念 eg4 Test for using Page.2.2 JSP 指令Page指令Jsp指令元素“page”指令。注意的使用。一般情況下放在jsp代碼的
3、頭。提前聲明。包含import,buffer,元素。常用的如Import用于引入java包。Buffer設(shè)置緩沖區(qū)大小。Language用于規(guī)定語言,一般規(guī)定是java。errorPage指示異常處理的頁面。注意“”的引用以及各個元素之間用的是空格,內(nèi)部用的是逗號。2.2 JSP 指令Page指令 test The current date and time are 2.2 JSP 指令I(lǐng)nclude指令JSP指令 include。包含file元素。主要說明的是打開文件的相對位置?;蛘呖梢灾苯永斫獬纱蜷_文件的名稱。注意的使用。還有“”的使用。include_eg.jsp 2.2 JSP 指令I(lǐng)
4、nclude指令2.2 JSP 指令I(lǐng)nclude指令 test 2.2 JSP 指令Taglib示例JSP指令taglib。用于標(biāo)簽的使用。包含兩個元素。uri 和prefix ,uri表示引入標(biāo)簽的位置。prefix表示引入的標(biāo)簽在jsp中的名稱。標(biāo)簽的概念,如 就是一對標(biāo)簽。test2.3 JSP 動作forward示例JSP動作forward。用于提交動作。注意jsp 動作的使用。直接 不需要加任何的其他東西。Forward動作包含兩個指令page和param以及value。 其中page指令用于指示提交到哪個頁面。param指示提交的元素名稱。Value標(biāo)志提交元素名稱的值。注意。J
5、sp動作標(biāo)簽所放的位置。還有param和value之間沒有逗號。forwardTo.jsp2.3 JSP 動作forward示例其中g(shù)etParameter用于接收所傳的param。Ok?2.3 JSP 動作forward示例peixun_include.jsp 2.3 JSP 動作Include示例Jsp動作include。用于指示包含一個動態(tài)或靜態(tài)文件。Include動作四個元素。Page指示所包含的文件路徑。Flush,必須為true。Param和value類似forward動作。但此處是接收。注意一下稍微。其中的param元素是可以在或者里面多次使用的。中間可以用隔開。用于分行顯示。%
6、String username;username=request.getParameter(User);out.println(Username is +username+);%2.3 JSP 動作Include示例2.3 JSP 動作Include示例package rmg;public class Student private long classNo; private String name; private int age; private boolean sexy; public Student() /構(gòu)造函數(shù) classNo=970431; name=ZZZl; age=34;
7、sexy=true; 2.3 JSP 動作示例 public long getClassNo() return classNo; public void setClassNo(long no) this.classNo=no; public String getName() return name; public void setName(String name) =name; 2.3 JSP 動作示例 public int getAge() return age; public void setAge(int age) this.age=age; public boolean getSexy
8、() return sexy; public void setSexy(boolean sexy) this.sexy=sexy; 2.3 JSP 動作示例 JSP動作usebean。用于創(chuàng)建一個javabean實例。三個元素。Id規(guī)定名稱。Scope規(guī)定作用范圍(page,requeset,session和application)。Class規(guī)定其創(chuàng)建的是關(guān)于哪一個類的實例。如上面的rmg.student,就是rmg包里面student 類。Getproperty表示的是動作,返回bean組件的屬性。第一次運行結(jié)果以后運行結(jié)果第一行發(fā)生變化 姓名 2.4 JSP 內(nèi)置對象request對象示
9、例 你好, , 今天是 號,星期 request 對象代表的是來自客戶端的請求,最常用于處理form表單的信息。 getParameter、getParameterNames和getParameterValues是它經(jīng)常使用的三個具體元素或者叫方法,通過調(diào)用這幾個方法來獲取請求對象中所包含的參數(shù)的值。2.4 JSP 內(nèi)置對象request對象示例response 對象代表的是對客戶端的響應(yīng),也就是說可以通過response對象來組織發(fā)送到客戶端的數(shù)據(jù)。但是由于組織方式比較底層,所以不建議普通讀者使用,需要向客戶端發(fā)送文字時直接使用out 對象即可。 (1)Response重定向:在某些情況下,
10、當(dāng)響應(yīng)客戶時,需要將客戶重新引導(dǎo)至另一個頁面,可以使用response的sendRedirect(URL)方法實現(xiàn)客戶的重定向。 (2)設(shè)置頭信息:response.setHeader(頭信息內(nèi)容,頭信息參數(shù)); 常用的刷新refresh,例如:response.setHeader(refresh,1);幾秒后跳轉(zhuǎn):response.setHeader(refresh,2:URL=XXX);2.4 JSP 內(nèi)置對象response對 象 (3)設(shè)置Cookie,Cookie是服務(wù)器端保存在客戶端的一組資源。通過Cookie實現(xiàn)保存密碼或者多長時間無需再輸入密碼等功能。Cookie是通過服務(wù)器端
11、設(shè)置到客戶端上去的-response response.addCookie(Cookie cookie)2.4 JSP 內(nèi)置對象response對 象 姓名 2.4 JSP 內(nèi)置對象session對象示例 你的名字已經(jīng)寫入session check 2.4 JSP 內(nèi)置對象session對 象session 對象代表服務(wù)器與客戶端所建立的會話。常用的方法包括 getId、 getValue、 getValueNames和putValue等。 您還未登錄 已經(jīng)登錄 out 對象代表了向客戶端發(fā)送數(shù)據(jù)的對象,與response 對象不同,通過out對象發(fā)送的內(nèi)容將是瀏覽器需要顯示的內(nèi)容,是文本一級
12、的,可以通過out 對象直接向客戶端寫一個由程序動態(tài)生成HTML文件。常用的方法除了pirnt和println之外,還包括clear、clearBuffer、flush、getBufferSize和getRemaining,這是因為out對象內(nèi)部包含了一個緩沖區(qū),所以需要一些對緩沖區(qū)進(jìn)行操作的方法。2.4 JSP 內(nèi)置對象out對 象 peixun.jsprequest 用戶登錄 用戶名:密 碼: 2.4 JSP 內(nèi)置對象request對象示例瀏覽器類型: IE Netscape 資料選項: 標(biāo)題 詳細(xì) Post.jsp代碼test%out.println(用戶名:+request.getPa
13、rameter(User)+);out.println(密碼:+request.getParameter(pwd)+);out.println(瀏覽器:+request.getParameter(radio)+);out.println(標(biāo)題:+request.getParameter(check1)+);out.println(詳細(xì):+request.getParameter(check2)+);out.println(隱含:+request.getParameter(hidden)+);out.println(getContentLength()=+request.getContentLe
14、ngth()+);out.println(getContentType()=+request.getContentType()+);out.println(getRequestURI()=+request.getRequestURI()+);out.println(getServerPort()=+request.getServerPort()+);out.println(getServerName()=+request.getServerName()+);out.println(getProtocol()=+request.getProtocol()+);out.println(getRem
15、oteAddr()=+request.getRemoteAddr()+);out.println(getHeaderNames()=+request.getHeaderNames()+);out.println(getMethod()=+request.getMethod()+);out.println(getServletPath()=+request.getServletPath()+);out.println(isRequestedSessionIdValid()=+request.isRequestedSessionIdValid()+);%運行結(jié)果session請輸入您的姓名: 2.
16、4 JSP 內(nèi)置對象Session對象示例 post.jsp 您的姓名是: 您最喜歡的娛樂是: post1.jsppost11.jsppost1.jsp您的姓名是: 您喜歡的娛樂是: 運行結(jié)果提交后輸入值再次提交(保存名字)application對象運行示例application% out.println(Java Servlet API Version +application.getMajorVersion()+.+application.getMinorVersion()+);out.println(peixun2.13.jsps MIME type is:+application.ge
17、tMimeType(peixun2.13.jsp)+);out.println(URL of peixun2.13.jsp is: +application.getResource(“/peixun2.13.jsp)+);out.println(getServerInfo()=+application.getServerInfo()+);out.println(application.getRealPath( );application.log(Add a Record to log_file); %運行結(jié)果網(wǎng)頁計數(shù)器 您是第位訪問者!2.4 JSP 內(nèi)置對象application網(wǎng)頁計數(shù)器運
18、行結(jié)果(第一次訪問)刷新一次Error page loginAn error occured in the bean. Error Message is: 2.4 JSP 內(nèi)置對象exception 對象示例/加載驅(qū)動程序public class TestDriverpublic TestDriver( ) /驅(qū)動程序類名稱 String strDriver= com.mysql.jdbc.Driver ; try System.out.println(加載驅(qū)動程序.); System.out.println(驅(qū)動程序字符串:+strDriver); Class.forName(strDriv
19、er); System.out.println(驅(qū)動程序加載成功); catch(Exception e) System.out.println(驅(qū)動程序加載失敗); /連接數(shù)據(jù)庫Connection conDatabase=null;String strURL=“jdbc:mysql:/localhost:3306/hotel; try conDatabase=DriverManager.getConnection(strURL,”root”,”123”); catch(SQLException e) if(conDatabase!=null) tryconDatabase.close();
20、 catch(SQLException e2) e2.printStackTrace(); System.out.println(數(shù)據(jù)庫連接失敗); e.printStackTrace();return; Connectioni案例與數(shù)據(jù)庫之間的連接。其基本格式是”jdbc:數(shù)據(jù)庫主機地址:輸出入端口:/數(shù)據(jù)庫文件完整路徑名稱 ,連接用戶名,密碼”Connection類,數(shù)據(jù)庫的連接類。定義了上下文的行為,在其中發(fā)布SQL語句并接收結(jié)果提供的主要方法:2.5 JDBC 技術(shù)JDBC 訪問數(shù)據(jù)庫1. createStatement(); /創(chuàng)建Statement 對象來將 SQL 語句發(fā)送到數(shù)據(jù)
21、庫。 2. prepareStatement(String query); /創(chuàng)建PreparedStatement 對象來將參數(shù)化的 SQL 語句發(fā)送到數(shù)據(jù)庫 3. close(); 4. commit(); /事務(wù)提交 5. rollback(); /事務(wù)回滾創(chuàng)建SQL語句讀取表Statement類:SQL語句類。 執(zhí)行SQL語句并獲得處理結(jié)果。PrepareStatement類:預(yù)編譯類。 用于執(zhí)行預(yù)編譯的SQL語句。CallableStatement類:存儲過程類。 用于執(zhí)行對一個數(shù)據(jù)庫存儲過程的調(diào)用2.5 JDBC 技術(shù)JDBC 訪問數(shù)據(jù)庫執(zhí)行SQL語句方法executeQuery(
22、) 用于產(chǎn)生單個結(jié)果集的語句,例如SELECT語句。方法executeUpdate() 用于執(zhí)行INSERT、UPDATE或DELETE語句以及SQL DDL語句,例如CREATE TABLE和DROP TABLE。方法execute() 用于執(zhí)行返回多個結(jié)果集、多個更新計數(shù)或二者組合的語句。2.5 JDBC 技術(shù)JDBC 訪問數(shù)據(jù)庫Statement類主要方法ResultSet executeQuery(String query);int executeUpdate(String query);boolean execute(String query);setMaxRows(int rown
23、um);getMaxRows();close();2.5 JDBC 技術(shù)JDBC 訪問數(shù)據(jù)庫 Statement類示例:Statement stmt = con.createStatement(); String query = “SELECT * FROM books”;ResultSet r = stmt.executeQuery(query); stmt.executeUpdate(UPDATE information SET bk_num = 130WHERE name=袖珍英漢詞典 );2.5 JDBC 技術(shù)JDBC 訪問數(shù)據(jù)庫ResultSet類處理結(jié)果集結(jié)果集類提供對結(jié)果集進(jìn)行處
24、理的方法。主要方法:2.5 JDBC 技術(shù)JDBC 訪問數(shù)據(jù)庫boolean next(); /first();last();previous();getXxx(String itemname/int num);ResultSet getResultSet();int getUpdateCount();boolean getMoreResults();ResultSet類示例2.5 JDBC 技術(shù)JDBC 訪問數(shù)據(jù)庫String query = “SELECT * FROM books”;ResultSet r = stmt.executeQuery(query); /stmt.execute
25、Query(query); /r=stmt.getResultSet();while(r.next() String r1 = r.getString(“name”); double r4 = r.getDouble(“price”); 關(guān)閉連接關(guān)閉結(jié)果集ResultSet close()關(guān)閉Statement對象Statement close()關(guān)閉連接 Connection close()2.5 JDBC 技術(shù)JDBC 訪問數(shù)據(jù)庫對一個數(shù)據(jù)庫的數(shù)據(jù)表進(jìn)行選擇、插入、刪除、更新記錄的操作,對表進(jìn)行創(chuàng)建和刪除操作2.5 JDBC 技術(shù)JDBC訪問數(shù)據(jù)庫示例import java.sql.*;c
26、lass Query public static void main(String args) try Class t=Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(SQLException:+ce.getMessage(); try Connection con = DriverManager.getConnection(jdbc:odbc:mydb); Statement stmt = con.createStatement(); Resul
27、tSet rs=stmt.executeQuery(select * from mytable); while (rs.next() System.out.println( 姓名 + rs.getString(name) + t + 性別 + rs.getString(sex) + t + 工資 + rs.getFloat(salary) ); rs.close(); stmt.close(); catch (SQLException e) System.out.println(SQLException:+e.getMessage(); import java.sql.*;class Inse
28、rt1 public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(SQLException:+ce.getMessage(); try Connection con = DriverManager.getConnection(jdbc:odbc:mydb,li,1234); Statement stmt = con.createStatement(); String sqlst
29、r = insert into mytable values(2001, 邢雪花,女,650); stmt.executeUpdate(sqlstr); stmt.executeUpdate(insert into mytable values(2020,翟建設(shè),男,746); stmt.close(); con.close(); catch (SQLException e) System.out.println(SQLException:+e.getMessage(); import java.sql.*;class Delete public static void main(String
30、 args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(SQLException:+ce.getMessage(); try Connection con = DriverManager.getConnection(jdbc:odbc:mydb,li,1234); Statement stmt = con.createStatement(); String sql = delete from mytable where name=王五; stmt.executeUpdate(sql); stmt.close(); con.close(); catch (SQLException e) System.out.println(SQLException:+e.getMessage(); import java.sql.*;class Create public static void main(String args)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年耕地租賃合同
- 廣告設(shè)備購銷合同2024年
- 合伙企業(yè)協(xié)議格式
- 房地產(chǎn)代理銷售協(xié)議書2024年
- 服裝制造商合作合同
- 2024年二手房屋買賣合同范例
- 擔(dān)保合作協(xié)議填寫指南
- 合伙餐館協(xié)議書樣本專業(yè)
- 裝修預(yù)算合同范本2024年
- 2024設(shè)備搬遷運輸合同
- 2024年保育員(中級)考試題庫(含答案)
- 廣東開放大學(xué)2024秋《形勢與政策(專)》形成性考核參考答案
- 九年級語文上冊其中知識點復(fù)習(xí)
- 2024年江蘇省泰州市保安員理論考試題庫及答案(完整)
- 糖尿病酮癥酸中毒
- 人教版(2024新版)七年級上冊數(shù)學(xué)期中模擬試卷(無答案)
- 企業(yè)法律合規(guī)與內(nèi)部審計制度
- 2024年應(yīng)急指示燈具:消防應(yīng)急燈合作協(xié)議書
- 湖北省武漢市部分學(xué)校2022-2023學(xué)年高一上學(xué)期期中聯(lián)考英語試卷
- 高盛-比亞迪:全球汽車市場上的新興領(lǐng)先企業(yè)-2024-10-企業(yè)研究
- 書法鑒賞學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論