信息系統(tǒng)軟件設(shè)計(jì):看懂JSP必須要懂的程序_第1頁(yè)
信息系統(tǒng)軟件設(shè)計(jì):看懂JSP必須要懂的程序_第2頁(yè)
信息系統(tǒng)軟件設(shè)計(jì):看懂JSP必須要懂的程序_第3頁(yè)
信息系統(tǒng)軟件設(shè)計(jì):看懂JSP必須要懂的程序_第4頁(yè)
信息系統(tǒng)軟件設(shè)計(jì):看懂JSP必須要懂的程序_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2.1 JSP 概念 test2.4.jsp Jsp聲明的格式如此。主要是變量的定義以及聲明。也可以進(jìn)行初始化。Eg:注意此處“;”的使用。跟java差不多。一定要記住分號(hào)。2.1 JSP 概念 test a=b=c=此處是jsp表達(dá)式的結(jié)構(gòu)。JSP腳本段。類似于java代碼。主要用于聲明變量的賦值以及變量表達(dá)式。記住分號(hào)的使用以及格式。% %之間沒(méi)有任何的符號(hào)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!+);% 從這兒開(kāi)始到下一個(gè)%結(jié)束,都是jsp的腳本段。類似java 的語(yǔ)句。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ī)定語(yǔ)言,一般規(guī)定是java。errorPage指示異常處理的頁(yè)面。注意“”的引用以及各個(gè)元素之間用的是空格,內(nèi)部用的是逗號(hào)。2.2 JSP 指令Page指令 test The current date and time are 2.2 JSP 指令I(lǐng)nclude指令JSP指令 include。包含file元素。主要說(shuō)明的是打開(kāi)文件的相對(duì)位置?;蛘呖梢灾苯永斫獬纱蜷_(kāi)文件的名稱。注意的使用。還有“”的使用。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)簽的使用。包含兩個(gè)元素。uri 和prefix ,uri表示引入標(biāo)簽的位置。prefix表示引入的標(biāo)簽在jsp中的名稱。標(biāo)簽的概念,如 就是一對(duì)標(biāo)簽。test2.3 JSP 動(dòng)作forward示例JSP動(dòng)作forward。用于提交動(dòng)作。注意jsp 動(dòng)作的使用。直接 不需要加任何的其他東西。Forward動(dòng)作包含兩個(gè)指令page和param以及value。 其中page指令用于指示提交到哪個(gè)頁(yè)面。param指示提交的元素名稱。Value標(biāo)志提交元素名稱的值。注意。J

5、sp動(dòng)作標(biāo)簽所放的位置。還有param和value之間沒(méi)有逗號(hào)。forwardTo.jsp2.3 JSP 動(dòng)作forward示例其中g(shù)etParameter用于接收所傳的param。Ok?2.3 JSP 動(dòng)作forward示例peixun_include.jsp 2.3 JSP 動(dòng)作Include示例Jsp動(dòng)作include。用于指示包含一個(gè)動(dòng)態(tài)或靜態(tài)文件。Include動(dòng)作四個(gè)元素。Page指示所包含的文件路徑。Flush,必須為true。Param和value類似forward動(dòng)作。但此處是接收。注意一下稍微。其中的param元素是可以在或者里面多次使用的。中間可以用隔開(kāi)。用于分行顯示。%

6、String username;username=request.getParameter(User);out.println(Username is +username+);%2.3 JSP 動(dòng)作Include示例2.3 JSP 動(dòng)作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 動(dòng)作示例 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 動(dòng)作示例 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 動(dòng)作示例 JSP動(dòng)作usebean。用于創(chuàng)建一個(gè)javabean實(shí)例。三個(gè)元素。Id規(guī)定名稱。Scope規(guī)定作用范圍(page,requeset,session和application)。Class規(guī)定其創(chuàng)建的是關(guān)于哪一個(gè)類的實(shí)例。如上面的rmg.student,就是rmg包里面student 類。Getproperty表示的是動(dòng)作,返回bean組件的屬性。第一次運(yùn)行結(jié)果以后運(yùn)行結(jié)果第一行發(fā)生變化 姓名 2.4 JSP 內(nèi)置對(duì)象request對(duì)象示

9、例 你好, , 今天是 號(hào),星期 request 對(duì)象代表的是來(lái)自客戶端的請(qǐng)求,最常用于處理form表單的信息。 getParameter、getParameterNames和getParameterValues是它經(jīng)常使用的三個(gè)具體元素或者叫方法,通過(guò)調(diào)用這幾個(gè)方法來(lái)獲取請(qǐng)求對(duì)象中所包含的參數(shù)的值。2.4 JSP 內(nèi)置對(duì)象request對(duì)象示例response 對(duì)象代表的是對(duì)客戶端的響應(yīng),也就是說(shuō)可以通過(guò)response對(duì)象來(lái)組織發(fā)送到客戶端的數(shù)據(jù)。但是由于組織方式比較底層,所以不建議普通讀者使用,需要向客戶端發(fā)送文字時(shí)直接使用out 對(duì)象即可。 (1)Response重定向:在某些情況下,

10、當(dāng)響應(yīng)客戶時(shí),需要將客戶重新引導(dǎo)至另一個(gè)頁(yè)面,可以使用response的sendRedirect(URL)方法實(shí)現(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)置對(duì)象response對(duì) 象 (3)設(shè)置Cookie,Cookie是服務(wù)器端保存在客戶端的一組資源。通過(guò)Cookie實(shí)現(xiàn)保存密碼或者多長(zhǎng)時(shí)間無(wú)需再輸入密碼等功能。Cookie是通過(guò)服務(wù)器端

11、設(shè)置到客戶端上去的-response response.addCookie(Cookie cookie)2.4 JSP 內(nèi)置對(duì)象response對(duì) 象 姓名 2.4 JSP 內(nèi)置對(duì)象session對(duì)象示例 你的名字已經(jīng)寫入session check 2.4 JSP 內(nèi)置對(duì)象session對(duì) 象session 對(duì)象代表服務(wù)器與客戶端所建立的會(huì)話。常用的方法包括 getId、 getValue、 getValueNames和putValue等。 您還未登錄 已經(jīng)登錄 out 對(duì)象代表了向客戶端發(fā)送數(shù)據(jù)的對(duì)象,與response 對(duì)象不同,通過(guò)out對(duì)象發(fā)送的內(nèi)容將是瀏覽器需要顯示的內(nèi)容,是文本一級(jí)

12、的,可以通過(guò)out 對(duì)象直接向客戶端寫一個(gè)由程序動(dòng)態(tài)生成HTML文件。常用的方法除了pirnt和println之外,還包括clear、clearBuffer、flush、getBufferSize和getRemaining,這是因?yàn)閛ut對(duì)象內(nèi)部包含了一個(gè)緩沖區(qū),所以需要一些對(duì)緩沖區(qū)進(jìn)行操作的方法。2.4 JSP 內(nèi)置對(duì)象out對(duì) 象 peixun.jsprequest 用戶登錄 用戶名:密 碼: 2.4 JSP 內(nèi)置對(duì)象request對(duì)象示例瀏覽器類型: IE Netscape 資料選項(xiàng): 標(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()+);%運(yùn)行結(jié)果session請(qǐng)輸入您的姓名: 2.

16、4 JSP 內(nèi)置對(duì)象Session對(duì)象示例 post.jsp 您的姓名是: 您最喜歡的娛樂(lè)是: post1.jsppost11.jsppost1.jsp您的姓名是: 您喜歡的娛樂(lè)是: 運(yùn)行結(jié)果提交后輸入值再次提交(保存名字)application對(duì)象運(yùn)行示例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); %運(yùn)行結(jié)果網(wǎng)頁(yè)計(jì)數(shù)器 您是第位訪問(wèn)者!2.4 JSP 內(nèi)置對(duì)象application網(wǎng)頁(yè)計(jì)數(shù)器運(yùn)

18、行結(jié)果(第一次訪問(wèn))刷新一次Error page loginAn error occured in the bean. Error Message is: 2.4 JSP 內(nèi)置對(duì)象exception 對(duì)象示例/加載驅(qū)動(dòng)程序public class TestDriverpublic TestDriver( ) /驅(qū)動(dòng)程序類名稱 String strDriver= com.mysql.jdbc.Driver ; try System.out.println(加載驅(qū)動(dòng)程序.); System.out.println(驅(qū)動(dòng)程序字符串:+strDriver); Class.forName(strDriv

19、er); System.out.println(驅(qū)動(dòng)程序加載成功); catch(Exception e) System.out.println(驅(qū)動(dòng)程序加載失敗); /連接數(shù)據(jù)庫(kù)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ù)庫(kù)連接失敗); e.printStackTrace();return; Connectioni案例與數(shù)據(jù)庫(kù)之間的連接。其基本格式是”jdbc:數(shù)據(jù)庫(kù)主機(jī)地址:輸出入端口:/數(shù)據(jù)庫(kù)文件完整路徑名稱 ,連接用戶名,密碼”Connection類,數(shù)據(jù)庫(kù)的連接類。定義了上下文的行為,在其中發(fā)布SQL語(yǔ)句并接收結(jié)果提供的主要方法:2.5 JDBC 技術(shù)JDBC 訪問(wèn)數(shù)據(jù)庫(kù)1. createStatement(); /創(chuàng)建Statement 對(duì)象來(lái)將 SQL 語(yǔ)句發(fā)送到數(shù)據(jù)

21、庫(kù)。 2. prepareStatement(String query); /創(chuàng)建PreparedStatement 對(duì)象來(lái)將參數(shù)化的 SQL 語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù) 3. close(); 4. commit(); /事務(wù)提交 5. rollback(); /事務(wù)回滾創(chuàng)建SQL語(yǔ)句讀取表Statement類:SQL語(yǔ)句類。 執(zhí)行SQL語(yǔ)句并獲得處理結(jié)果。PrepareStatement類:預(yù)編譯類。 用于執(zhí)行預(yù)編譯的SQL語(yǔ)句。CallableStatement類:存儲(chǔ)過(guò)程類。 用于執(zhí)行對(duì)一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的調(diào)用2.5 JDBC 技術(shù)JDBC 訪問(wèn)數(shù)據(jù)庫(kù)執(zhí)行SQL語(yǔ)句方法executeQuery(

22、) 用于產(chǎn)生單個(gè)結(jié)果集的語(yǔ)句,例如SELECT語(yǔ)句。方法executeUpdate() 用于執(zhí)行INSERT、UPDATE或DELETE語(yǔ)句以及SQL DDL語(yǔ)句,例如CREATE TABLE和DROP TABLE。方法execute() 用于執(zhí)行返回多個(gè)結(jié)果集、多個(gè)更新計(jì)數(shù)或二者組合的語(yǔ)句。2.5 JDBC 技術(shù)JDBC 訪問(wèn)數(shù)據(jù)庫(kù)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 訪問(wèn)數(shù)據(jù)庫(kù) 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 訪問(wèn)數(shù)據(jù)庫(kù)ResultSet類處理結(jié)果集結(jié)果集類提供對(duì)結(jié)果集進(jìn)行處

24、理的方法。主要方法:2.5 JDBC 技術(shù)JDBC 訪問(wèn)數(shù)據(jù)庫(kù)boolean next(); /first();last();previous();getXxx(String itemname/int num);ResultSet getResultSet();int getUpdateCount();boolean getMoreResults();ResultSet類示例2.5 JDBC 技術(shù)JDBC 訪問(wèn)數(shù)據(jù)庫(kù)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對(duì)象Statement close()關(guān)閉連接 Connection close()2.5 JDBC 技術(shù)JDBC 訪問(wèn)數(shù)據(jù)庫(kù)對(duì)一個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)表進(jìn)行選擇、插入、刪除、更新記錄的操作,對(duì)表進(jìn)行創(chuàng)建和刪除操作2.5 JDBC 技術(shù)JDBC訪問(wèn)數(shù)據(jù)庫(kù)示例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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論