JSP學(xué)習(xí)筆記-2.doc_第1頁
JSP學(xué)習(xí)筆記-2.doc_第2頁
JSP學(xué)習(xí)筆記-2.doc_第3頁
JSP學(xué)習(xí)筆記-2.doc_第4頁
JSP學(xué)習(xí)筆記-2.doc_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

JSP學(xué)習(xí)筆記(一)-概述1.JSP是Java Server Pages的簡寫。 2.用JSP開發(fā)的Web應(yīng)用是跨平臺的.3.JSP技術(shù)是Servlet技術(shù)的擴展。Servlet是平臺無關(guān)的,100%純Java的Java服務(wù)端組件。4.下面就是一個簡單的JSP頁面:!DOCTYPE HTML PUBLIC -/W3C/DTD HTML 4.0 Transitional/ENHTMLHEADTITLE歡迎訪問網(wǎng)上商店/TITLE/HEADBODYH1歡迎/H1SMALL歡迎,!- 首次訪問的用戶名字為New User -% out.println(Utils.getUserNameFromCookie(request); %要設(shè)置帳號信息,請點擊A HREF=Account-Settings.html這里/A/SMALLP頁面的其余內(nèi)容。./BODY/HTML5.下面是JSP 和其他類似或相關(guān)技術(shù)的一個簡單比較:1).JSP和Active Server Pages(ASP)相比Microsoft的ASP是一種和JSP類似的技術(shù)。JSP和ASP相比具有兩方面的優(yōu)點。首先,動態(tài)部分用Java編寫,而不是VB Script或其他Microsoft語言,不僅功能更強大而且更易于使用。第二,JSP應(yīng)用可以移植到其他操作系統(tǒng)和非Microsoft的Web服務(wù)器上。2).JSP和純Servlet相比JSP并沒有增加任何本質(zhì)上不能用Servlet實現(xiàn)的功能。但是,在JSP中編寫靜態(tài)HTML更加方便,不必再用 println語句來輸出每一行HTML代碼。更重要的是,借助內(nèi)容和外觀的分離,頁面制作中不同性質(zhì)的任務(wù)可以方便地分開:比如,由頁面設(shè)計專家進(jìn)行HTML設(shè)計,同時留出供Servlet程序員插入動態(tài)內(nèi)容的空間。3).JSP和服務(wù)器端包含(Server-Side Include,SSI)相比SSI是一種受到廣泛支持的在靜態(tài)HTML中引入外部代碼的技術(shù)。JSP在這方面的支持更為完善,因為它可以用Servlet而不是獨立的程序來生成動態(tài)內(nèi)容。另外,SSI實際上只用于簡單的包含,而不是面向那些能夠處理表單數(shù)據(jù)、訪問數(shù)據(jù)庫的“真正的”程序。4).JSP和JavaScript相比JavaScript能夠在客戶端動態(tài)地生成HTML。雖然JavaScript很有用,但它只能處理以客戶端環(huán)境為基礎(chǔ)的動態(tài)信息。除了Cookie之外,HTTP狀態(tài)和表單提交數(shù)據(jù)對JavaScript來說都是不可用的。另外,由于是在客戶端運行,JavaScript不能訪問服務(wù)器端資源,比如數(shù)據(jù)庫、目錄信息等等。JSP學(xué)習(xí)筆記(二)-使用Tomcat運行JSP文件有些網(wǎng)友不知道怎么才能運行自己的JSP文件,我在這里簡單介紹一下,給大家提供一點參考:1. 下載并安裝tomcat。下載地址:/tomcat2. 編寫自己的JSP網(wǎng)頁和Java對象。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處理用戶注冊和登陸1. 這是一個JSP實例,由四個JSP頁面組成,處理用戶的注冊和登陸信息2. 首先是login.jsp,代碼如下: htmlcenterform method=get action=:8000/jsp/test.jspusernameinput type=text name=usernamebrbrpasswordinput type=password name=passbrbrinput type=submit value=注冊/formform method=get action=:8000/jsp/test3.jspusernameinput type=text name=usernamebrbrpasswordinput type=password name=passbrbrinput type=submit value=登陸/formbr/center/html3. test.jsp代碼如下:(主要處理用戶注冊,將注冊信息插入數(shù)據(jù)庫)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)用戶注冊成功之后可以查看所有的注冊用戶名單) 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.此外還需要一個名為login的數(shù)據(jù)庫,只需要兩個列username,password就可以了先注冊,用戶名33,密碼33注冊成功察看注冊用戶登陸成功JSP學(xué)習(xí)筆記(四)-JSP動作的使用1. 該實例主要告訴我們怎么樣在JSP代碼中使用JSP動作,例如jsp:forward 2. 該實例需要四個文件: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非常簡單,隨便寫寫: htmlok/htmlhtmlno/html6. 最后進(jìn)行配置,非常簡單: 把login.jsp,test.jsp,ok.htm,no.htm放在j2ee的public_html中就可以了,不需要啟動J2EE部署器了,這是一個簡單方法7. 運行效果是當(dāng)你輸入用戶名為abc時,頁面會自動跳轉(zhuǎn)到ok.htm頁面,否則跳到no.htm頁面JSP學(xué)習(xí)筆記(五)-JSP中使用JavaBean1. 該實例主要告訴我們怎么樣在JSP代碼中調(diào)用JavaBean構(gòu)件2. 使用JavaBean的優(yōu)點是簡化了JSP代碼,界面代碼和邏輯代碼互相分離,便于程序員查看和調(diào)試3. 該實例需要五個文件: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=注冊/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í)筆記(六)-在多個JSP頁面之間傳遞參數(shù)1. 怎么在多個JSP頁面之間進(jìn)行參數(shù)傳遞?需要使用JSP的內(nèi)置作用域?qū)ο髎ession。利用它的兩個方法setAttribute(),getAttribute()2. 下面的這個實例實現(xiàn)了把第一個JSP頁面的參數(shù)傳遞給第三個頁面的功能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. 這是一個猜數(shù)字的游戲,通過使用JSP調(diào)用JavaBean2. 需要兩個文件,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的運用1. 向JSP頁面中插入指定的頁面方法有兩種:JSP命令% include%JSP動作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)簽庫1.JSP標(biāo)簽庫(也稱自定義庫)可看成是一套產(chǎn)生基于XML腳本的方法,它經(jīng)由JavaBeans來支持。在概念上說,標(biāo)簽庫是非常簡單和可以重用的代碼構(gòu)造。它可以大大簡化你在頁面中輸入各種錄入框的代碼(諸如此類的代碼:input type=text name=taxpayerName value = ,select name=collectionItemCode class=required style=width:200 .),并使之結(jié)構(gòu)化。2.標(biāo)簽庫(Tag libraries)提供了建立可重用代碼塊的簡單方式。但是和COM和J2EE不同的是,你不需要掌握任何額外的技能就可以建立標(biāo)簽庫:如果你會編寫JSP頁面,你就會建立標(biāo)簽庫。最后,標(biāo)簽庫還改進(jìn)了Web應(yīng)用程序的維護(hù)性。這種對維護(hù)性的改進(jìn)表現(xiàn)在:輕易地在JSP頁面上就實現(xiàn)了基于XML的可定制接口。3.一個簡單的標(biāo)簽由下面的元素構(gòu)成: JavaBeans:為了得到Java與生具來的面向?qū)ο蟮暮锰?,可重用的代碼應(yīng)該放到一個獨立的代碼容器中。這些JavaBeans并不是標(biāo)簽庫的一部分。不過它是你的代碼庫用來執(zhí)行相關(guān)任務(wù)的基本代碼塊。 標(biāo)簽處理:這是標(biāo)簽庫的真正核心。一個標(biāo)簽處理器將引用它需要的任何資源(你的JavaBeans)和訪問你的JSP頁面的全部信息(pageContext對象)。JSP頁面也會將所有已經(jīng)被設(shè)置的標(biāo)簽屬性和JSP頁面上的標(biāo)簽體中的內(nèi)容傳送給標(biāo)簽處理器。在標(biāo)簽處理器處理完畢后,它將發(fā)回輸出到你的JSP頁面進(jìn)行處理。 標(biāo)簽庫的描述(tld文件):這是一個簡單的XML文件,它記錄著標(biāo)簽處理器的屬性、信息和位置。JSP容器通過這個文件來得知從哪里及如何調(diào)用一個標(biāo)簽庫。 網(wǎng)站的web.xml文件:這是你網(wǎng)站的初始化文件,在這個文件中,你定義了網(wǎng)站中用到的自定義標(biāo)簽,以及哪個tld文件用來描述每個自定義的標(biāo)簽。 分發(fā)文件(一個WAR或者JAR文件):如果你想重用自定義標(biāo)簽的話,你需要一個方法來將它由一個項目轉(zhuǎn)移到另一個項目中。將標(biāo)簽庫打包為一個JAR文件是一個簡單而且有效的方式。 在你的JSP文件中作標(biāo)簽庫聲明:很簡單,如果要用到該標(biāo)簽的話,只要在頁面聲明一下就可以,其后,你就可以在該JSP頁面的任何地方使用它。下面是一個實例 1. 先編寫標(biāo)簽處理程序,ATMTag.java/用標(biāo)簽處理程序來定義客戶標(biāo)簽的工作import javax.servlet.jsp.*;/導(dǎo)入標(biāo)簽類的驅(qū)動import javax.servlet.jsp.tagext.*;import java.io.*;import java.sql.*;import java.math.*;import java.util.*;/實現(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頁面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. 本站所有資源如無特殊說明,都需要本地電腦安裝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

提交評論