




已閱讀5頁(yè),還剩20頁(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)介
JSP學(xué)習(xí)筆記(一)-概述1.JSP是Java Server Pages的簡(jiǎn)寫。 2.用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的.3.JSP技術(shù)是Servlet技術(shù)的擴(kuò)展。Servlet是平臺(tái)無(wú)關(guān)的,100%純Java的Java服務(wù)端組件。4.下面就是一個(gè)簡(jiǎn)單的JSP頁(yè)面:!DOCTYPE HTML PUBLIC -/W3C/DTD HTML 4.0 Transitional/ENHTMLHEADTITLE歡迎訪問(wèn)網(wǎng)上商店/TITLE/HEADBODYH1歡迎/H1SMALL歡迎,!- 首次訪問(wèn)的用戶名字為New User -% out.println(Utils.getUserNameFromCookie(request); %要設(shè)置帳號(hào)信息,請(qǐng)點(diǎn)擊A HREF=Account-Settings.html這里/A/SMALLP頁(yè)面的其余內(nèi)容。./BODY/HTML5.下面是JSP 和其他類似或相關(guān)技術(shù)的一個(gè)簡(jiǎn)單比較:1).JSP和Active Server Pages(ASP)相比Microsoft的ASP是一種和JSP類似的技術(shù)。JSP和ASP相比具有兩方面的優(yōu)點(diǎn)。首先,動(dòng)態(tài)部分用Java編寫,而不是VB Script或其他Microsoft語(yǔ)言,不僅功能更強(qiáng)大而且更易于使用。第二,JSP應(yīng)用可以移植到其他操作系統(tǒng)和非Microsoft的Web服務(wù)器上。2).JSP和純Servlet相比JSP并沒(méi)有增加任何本質(zhì)上不能用Servlet實(shí)現(xiàn)的功能。但是,在JSP中編寫靜態(tài)HTML更加方便,不必再用 println語(yǔ)句來(lái)輸出每一行HTML代碼。更重要的是,借助內(nèi)容和外觀的分離,頁(yè)面制作中不同性質(zhì)的任務(wù)可以方便地分開(kāi):比如,由頁(yè)面設(shè)計(jì)專家進(jìn)行HTML設(shè)計(jì),同時(shí)留出供Servlet程序員插入動(dòng)態(tài)內(nèi)容的空間。3).JSP和服務(wù)器端包含(Server-Side Include,SSI)相比SSI是一種受到廣泛支持的在靜態(tài)HTML中引入外部代碼的技術(shù)。JSP在這方面的支持更為完善,因?yàn)樗梢杂肧ervlet而不是獨(dú)立的程序來(lái)生成動(dòng)態(tài)內(nèi)容。另外,SSI實(shí)際上只用于簡(jiǎn)單的包含,而不是面向那些能夠處理表單數(shù)據(jù)、訪問(wèn)數(shù)據(jù)庫(kù)的“真正的”程序。4).JSP和JavaScript相比JavaScript能夠在客戶端動(dòng)態(tài)地生成HTML。雖然JavaScript很有用,但它只能處理以客戶端環(huán)境為基礎(chǔ)的動(dòng)態(tài)信息。除了Cookie之外,HTTP狀態(tài)和表單提交數(shù)據(jù)對(duì)JavaScript來(lái)說(shuō)都是不可用的。另外,由于是在客戶端運(yùn)行,JavaScript不能訪問(wèn)服務(wù)器端資源,比如數(shù)據(jù)庫(kù)、目錄信息等等。JSP學(xué)習(xí)筆記(二)-使用Tomcat運(yùn)行JSP文件有些網(wǎng)友不知道怎么才能運(yùn)行自己的JSP文件,我在這里簡(jiǎn)單介紹一下,給大家提供一點(diǎn)參考:1. 下載并安裝tomcat。下載地址:/tomcat2. 編寫自己的JSP網(wǎng)頁(yè)和Java對(duì)象。3. 配置自己的Web應(yīng)用。配置方法:在TOMCAT_HOME/conf/server.xml文件中加入一行:其中,TOMCAT_HOME是tomcat的主目錄,appName是你的Web應(yīng)用的名稱。4. 將你的jsp文件、html文件、image文件拷貝到TOMCAT_HOME/webapps/appName目錄下。5. 編譯你的java文件。6. 將編譯好的class文件拷貝到TOMCAT_HOME/webapps/WEB-INF/classes目錄下。也可將class文件打包成jar文件放到TOMCAT_HOME/webapps/WEB-INF/lib目錄下。7. ALL IS OK! 你可以在你的瀏覽器上看到你的成果了:http:/localhost:8080/appName/youjsp.jsp其中,appName是你配的Web應(yīng)用名稱,youjsp.jsp是你編寫的jsp文件名。JSP學(xué)習(xí)筆記(三)-使用JSP處理用戶注冊(cè)和登陸1. 這是一個(gè)JSP實(shí)例,由四個(gè)JSP頁(yè)面組成,處理用戶的注冊(cè)和登陸信息2. 首先是login.jsp,代碼如下: htmlcenterform method=get action=:8000/jsp/test.jspusernameinput type=text name=usernamebrbrpasswordinput type=password name=passbrbrinput type=submit value=注冊(cè)/formform method=get action=:8000/jsp/test3.jspusernameinput type=text name=usernamebrbrpasswordinput type=password name=passbrbrinput type=submit value=登陸/formbr/center/html3. test.jsp代碼如下:(主要處理用戶注冊(cè),將注冊(cè)信息插入數(shù)據(jù)庫(kù))html% page language=java import=java.sql.*%your username is:%=request.getParameter(username)%brbryour password is:%=request.getParameter(pass)%brbr%String name=request.getParameter(username);String pass=request.getParameter(pass);tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection dbcon=DriverManager.getConnection(jdbc:odbc:test,sa,);PreparedStatement stat=dbcon.prepareStatement(insert login values(?,?);stat.setString(1,name);stat.setString(2,pass);stat.executeUpdate();out.println(brbrBinsert successful/B);catch(Exception e)out.println(e);%bClick here to view all people/bform method=get action=:8000/jsp/test2.jspinput type=submit value=-/form/html4. test2.jsp,代碼如下:(處理當(dāng)用戶注冊(cè)成功之后可以查看所有的注冊(cè)用戶名單) html% page language=java import=java.sql.*% tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection dbcon=DriverManager.getConnection(jdbc:odbc:test,sa,);PreparedStatement stat=dbcon.prepareStatement(select * from login);ResultSet result=stat.executeQuery();%table border=2%while(result.next()%trtd%=result.getString(1)%td/tr% /table%catch(Exception e)out.println(e);% /html5. test3.jsp代碼如下:(處理用戶登錄信息)htmlyour username is:%=request.getParameter(username)%brbryour password is:%=request.getParameter(pass)%brbr% page language=java import=java.sql.*% String name=request.getParameter(username);String pass=request.getParameter(pass);tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection dbcon=DriverManager.getConnection(jdbc:odbc:test,sa,);PreparedStatement stat=dbcon.prepareStatement(select * from login where username=? and password=?);stat.setString(1,name);stat.setString(2,pass);ResultSet result=stat.executeQuery();if(result.next()out.println(Login Successful);elseout.println(Login Error);catch(Exception e)out.println(e);%6.此外還需要一個(gè)名為login的數(shù)據(jù)庫(kù),只需要兩個(gè)列username,password就可以了先注冊(cè),用戶名33,密碼33注冊(cè)成功察看注冊(cè)用戶登陸成功JSP學(xué)習(xí)筆記(四)-JSP動(dòng)作的使用1. 該實(shí)例主要告訴我們?cè)趺礃釉贘SP代碼中使用JSP動(dòng)作,例如jsp:forward 2. 該實(shí)例需要四個(gè)文件:login.jsp,test.jsp,ok.htm,no.htm3. 首先看一下login.jsphtmlcenterform method=get action=:8000/test.jspusernameinput type=text name=usernamebrbrpasswordinput type=password name=passwordbrbrinput type=submit value=確定/form/center/html4. test.jsp代碼如下:html%String username=request.getParameter(username);if(username.trim().equals(abc)%jsp:forward page=ok.html /%else%jsp:forward page=no.html /%/html5. ok.htm和no.htm非常簡(jiǎn)單,隨便寫寫: htmlok/htmlhtmlno/html6. 最后進(jìn)行配置,非常簡(jiǎn)單: 把login.jsp,test.jsp,ok.htm,no.htm放在j2ee的public_html中就可以了,不需要啟動(dòng)J2EE部署器了,這是一個(gè)簡(jiǎn)單方法7. 運(yùn)行效果是當(dāng)你輸入用戶名為abc時(shí),頁(yè)面會(huì)自動(dòng)跳轉(zhuǎn)到ok.htm頁(yè)面,否則跳到no.htm頁(yè)面JSP學(xué)習(xí)筆記(五)-JSP中使用JavaBean1. 該實(shí)例主要告訴我們?cè)趺礃釉贘SP代碼中調(diào)用JavaBean構(gòu)件2. 使用JavaBean的優(yōu)點(diǎn)是簡(jiǎn)化了JSP代碼,界面代碼和邏輯代碼互相分離,便于程序員查看和調(diào)試3. 該實(shí)例需要五個(gè)文件:login.jsp,test.jsp, userbean.class4. 首先看一下login.jsp htmlcenterform method=post action=:8000/test.jspusernameinput type=text name=usernamebrbrpasswordinput type=password name=passwordbrbrinput type=submit value=注冊(cè)/form/center/html5. test.jsp代碼如下: htmljsp:useBean id=hello class=userbean scope=session /jsp:setProperty name=hello property=* /your username is:jsp:getProperty name=hello property=username/brbryour password is:jsp:getProperty name=hello property=password/brbr%out.println(hello.insert(); %/html6. JavaBean構(gòu)件userbean.java代碼如下:import java.sql.*;public class userbeanprivate String username;private String password;public void setUsername(String username)this.username=username;public void setPassword(String password)this.password=password;public String getUsername()return username;public String getPassword()return password;public String insert()tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection dbcon=DriverManager.getConnection(jdbc:odbc:test,sa,);PreparedStatement stat=dbcon.prepareStatement(insert login values(?,?);stat.setString(1,username);stat.setString(2,password);stat.executeUpdate();return success;catch(Exception e)System.out.println(e);return e.toString();7. 配置方法如下: login,test放在j2ee的public_html中,userbean.class放在j2eelibclasses中JSP學(xué)習(xí)筆記(六)-在多個(gè)JSP頁(yè)面之間傳遞參數(shù)1. 怎么在多個(gè)JSP頁(yè)面之間進(jìn)行參數(shù)傳遞?需要使用JSP的內(nèi)置作用域?qū)ο髎ession。利用它的兩個(gè)方法setAttribute(),getAttribute()2. 下面的這個(gè)實(shí)例實(shí)現(xiàn)了把第一個(gè)JSP頁(yè)面的參數(shù)傳遞給第三個(gè)頁(yè)面的功能3. 代碼如下:1.jsphtmlform method=get action=2.jspwhats your nameinput type=text name=usernameinput type=submit value=submit/form/html4. 2.jsphtmlform method=post action=3.jsp?pass=11%String name=request.getParameter(username);session.setAttribute(username,name);%Your name is:%=request.getParameter(username)%brwhats your hobbyinput type=text name=hobbyinput type=submit value=submit/form/html5. 3.jsphtmlyour name is:%=session.getAttribute(username)%bryour hobby is:%=request.getParameter(hobby)%bryour password is:%=request.getParameter(pass)%br/form/htmlJSP學(xué)習(xí)筆記(七)-猜數(shù)字游戲1. 這是一個(gè)猜數(shù)字的游戲,通過(guò)使用JSP調(diào)用JavaBean2. 需要兩個(gè)文件,number.jsp和NumberGuessBean.java3. 先看number.jsp代碼:htmljsp:useBean id=number class=NumberGuessBean scope=session /jsp:setProperty name=number property=* /%if(number.getNumGuesses()=0)%BWelcome to the Number Guess game./BbrBIm thinking of a number between 1 and 100./BbrbWhats your guess?/b form method=postinput type=text name=guessinput type=submit value=submit/form%else if(number.getSuccess() %Congratulations! You got it. And after just %=number.getNumGuesses()% tries.Care to a href=number.jsptry again/a? %number.reset();else%Good guess, but nope. Try %=number.getHint()%. You have made %=number.getNumGuesses()% guesses.brIm thinking of a number between 1 and 100.brWhats your guess? form method=postinput type=text name=guess input type=submit value=submit/form%/html4. NumberGuessBean.java代碼如下:import java.util.*;public class NumberGuessBean int answer;boolean success;String hint;int numGuesses;public NumberGuessBean() reset();public void setGuess(String guess) numGuesses+;int g;try g = Integer.parseInt(guess);catch (NumberFormatException e) g = -1;if (g = answer) success = true;else if (g = -1) hint = a number next time;else if (g answer) hint = higher;else if (g answer) hint = lower;public boolean getSuccess() return success;public String getHint() return + hint;public int getNumGuesses() return numGuesses;public void reset() answer = Math.abs(new Random().nextInt() % 100) + 1;success = false;numGuesses = 0;JSP學(xué)習(xí)筆記(八)-include的運(yùn)用1. 向JSP頁(yè)面中插入指定的頁(yè)面方法有兩種:JSP命令% include%JSP動(dòng)作jsp:include /2. a.jsp代碼如下:htmlhuanghui% include file=b.jsp%jsp:include page=b.jsp flush=true/html3. b.jsp代碼如下:htmlhello/htmlJSP學(xué)習(xí)筆記(九)-JSP標(biāo)簽庫(kù)1.JSP標(biāo)簽庫(kù)(也稱自定義庫(kù))可看成是一套產(chǎn)生基于XML腳本的方法,它經(jīng)由JavaBeans來(lái)支持。在概念上說(shuō),標(biāo)簽庫(kù)是非常簡(jiǎn)單和可以重用的代碼構(gòu)造。它可以大大簡(jiǎn)化你在頁(yè)面中輸入各種錄入框的代碼(諸如此類的代碼:input type=text name=taxpayerName value = ,select name=collectionItemCode class=required style=width:200 .),并使之結(jié)構(gòu)化。2.標(biāo)簽庫(kù)(Tag libraries)提供了建立可重用代碼塊的簡(jiǎn)單方式。但是和COM和J2EE不同的是,你不需要掌握任何額外的技能就可以建立標(biāo)簽庫(kù):如果你會(huì)編寫JSP頁(yè)面,你就會(huì)建立標(biāo)簽庫(kù)。最后,標(biāo)簽庫(kù)還改進(jìn)了Web應(yīng)用程序的維護(hù)性。這種對(duì)維護(hù)性的改進(jìn)表現(xiàn)在:輕易地在JSP頁(yè)面上就實(shí)現(xiàn)了基于XML的可定制接口。3.一個(gè)簡(jiǎn)單的標(biāo)簽由下面的元素構(gòu)成: JavaBeans:為了得到Java與生具來(lái)的面向?qū)ο蟮暮锰?,可重用的代碼應(yīng)該放到一個(gè)獨(dú)立的代碼容器中。這些JavaBeans并不是標(biāo)簽庫(kù)的一部分。不過(guò)它是你的代碼庫(kù)用來(lái)執(zhí)行相關(guān)任務(wù)的基本代碼塊。 標(biāo)簽處理:這是標(biāo)簽庫(kù)的真正核心。一個(gè)標(biāo)簽處理器將引用它需要的任何資源(你的JavaBeans)和訪問(wèn)你的JSP頁(yè)面的全部信息(pageContext對(duì)象)。JSP頁(yè)面也會(huì)將所有已經(jīng)被設(shè)置的標(biāo)簽屬性和JSP頁(yè)面上的標(biāo)簽體中的內(nèi)容傳送給標(biāo)簽處理器。在標(biāo)簽處理器處理完畢后,它將發(fā)回輸出到你的JSP頁(yè)面進(jìn)行處理。 標(biāo)簽庫(kù)的描述(tld文件):這是一個(gè)簡(jiǎn)單的XML文件,它記錄著標(biāo)簽處理器的屬性、信息和位置。JSP容器通過(guò)這個(gè)文件來(lái)得知從哪里及如何調(diào)用一個(gè)標(biāo)簽庫(kù)。 網(wǎng)站的web.xml文件:這是你網(wǎng)站的初始化文件,在這個(gè)文件中,你定義了網(wǎng)站中用到的自定義標(biāo)簽,以及哪個(gè)tld文件用來(lái)描述每個(gè)自定義的標(biāo)簽。 分發(fā)文件(一個(gè)WAR或者JAR文件):如果你想重用自定義標(biāo)簽的話,你需要一個(gè)方法來(lái)將它由一個(gè)項(xiàng)目轉(zhuǎn)移到另一個(gè)項(xiàng)目中。將標(biāo)簽庫(kù)打包為一個(gè)JAR文件是一個(gè)簡(jiǎn)單而且有效的方式。 在你的JSP文件中作標(biāo)簽庫(kù)聲明:很簡(jiǎn)單,如果要用到該標(biāo)簽的話,只要在頁(yè)面聲明一下就可以,其后,你就可以在該JSP頁(yè)面的任何地方使用它。下面是一個(gè)實(shí)例 1. 先編寫標(biāo)簽處理程序,ATMTag.java/用標(biāo)簽處理程序來(lái)定義客戶標(biāo)簽的工作import javax.servlet.jsp.*;/導(dǎo)入標(biāo)簽類的驅(qū)動(dòng)import javax.servlet.jsp.tagext.*;import java.io.*;import java.sql.*;import java.math.*;import java.util.*;/實(shí)現(xiàn)TagSupport或BodyTagSupport接口public class ATMTag extends TagSupportConnection connect = null;Statement state = null;ResultSet result = null;public ATMTag() throws ClassNotFoundExceptionClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);/抽象類Tag的方法,標(biāo)簽處理程序的初始化public int doStartTag() throws JspTagException/指導(dǎo)JSP引擎處理標(biāo)簽的體內(nèi)容return EVAL_BODY_INCLUDE;/執(zhí)行標(biāo)簽任務(wù)public int doEndTag() throws JspTagExceptiontry/把輸出寫到JSP頁(yè)面JspWriter out=pageContext.getOut();connect=DriverManager.getConnection(jdbc:odbc:test,sa,);String strQuery = Select cCounter_id, cAddress,mCashBalance from Counter where mCashBalance=10000; ;System.out.println(Query: +strQuery);state = connect.createStatement();ResultSet result = state.executeQuery(strQuery);String sId=null;String sAddress=null;String sBalance=null;Vector v=new Vector();while(result.next()sId = result.g
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年客運(yùn)資格證理論考試仿真考試
- 七年級(jí)生物期中模擬卷01【第三單元-第四單元第1章】(考試版A3)(人教版2025)
- 僅用于工作證明的非擔(dān)保聲明書(5篇)
- 住房商業(yè)性借款協(xié)議
- 農(nóng)村信用社小額貸款使用及還款協(xié)議
- 班級(jí)趣味運(yùn)動(dòng)會(huì)事件回顧與反思周記寫作指導(dǎo)(14篇)
- 個(gè)人所得稅納稅及企業(yè)資金狀況證明書(6篇)
- 2025年消防安全知識(shí)培訓(xùn)考試題庫(kù)-消防隊(duì)伍管理戰(zhàn)略規(guī)劃試題
- 農(nóng)村資源開(kāi)發(fā)利用綜合利用合作協(xié)議
- 參觀博物館的收獲作文(10篇)
- 煤礦防滅火細(xì)則
- DL∕T 2622-2023 1000kV高壓并聯(lián)電抗器局部放電現(xiàn)場(chǎng)測(cè)量技術(shù)導(dǎo)則
- 農(nóng)村社區(qū)基礎(chǔ)設(shè)施和公共服務(wù)建設(shè)項(xiàng)目可行性研究報(bào)告
- ISO9001-ISO14001-ISO45001三體系內(nèi)部審核檢查表
- JT-T-1270.3-2019公路橋梁梳齒板伸縮裝置第3部分:整體錨固式伸縮裝置
- 【8物(人教版)】淮北市二中聯(lián)考2023-2024學(xué)年八年級(jí)下學(xué)期期末考試物理試題
- 2024年05月山東濰坊市中心血站招考聘用3人筆試歷年高頻考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 新概念2測(cè)試題及答案
- 小學(xué)英語(yǔ)祈使句練習(xí)題
- 北京市密云區(qū)2024屆物理八年級(jí)下冊(cè)期末聯(lián)考試題含解析
- 《遠(yuǎn)離毒品-珍愛(ài)生命》教案
評(píng)論
0/150
提交評(píng)論