JSP九大內(nèi)置對(duì)象和四種屬性范圍解讀_第1頁(yè)
JSP九大內(nèi)置對(duì)象和四種屬性范圍解讀_第2頁(yè)
JSP九大內(nèi)置對(duì)象和四種屬性范圍解讀_第3頁(yè)
JSP九大內(nèi)置對(duì)象和四種屬性范圍解讀_第4頁(yè)
JSP九大內(nèi)置對(duì)象和四種屬性范圍解讀_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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、JSP九大內(nèi)置對(duì)象和四種屬性范圍解讀一、四種屬性范圍1.1、在JSP中提供了四種屬性保存范圍page:在一個(gè)頁(yè)面內(nèi)保存屬性,跳轉(zhuǎn)之后無(wú)效request:在一次服務(wù)請(qǐng)求范圍內(nèi),服務(wù)器跳轉(zhuǎn)后依然有效session:-在一次會(huì)話范圍內(nèi),無(wú)論何種跳轉(zhuǎn)都可以使用,但是新開瀏覽器無(wú)法使用application:在整個(gè)服務(wù)器上保存,所有用戶都可以使用1.2、4種屬性范圍都支持的操作java view plain copypublic void setAttribute(String name,Object value) public Object getAttribute(String name) publ

2、ic Object removeAttribute(String name) 下面,我們來(lái)對(duì)四種范圍來(lái)分別進(jìn)行詳細(xì)的介紹1.3、page范圍在JSP中設(shè)置一個(gè)頁(yè)的屬性范圍,必須通過pageContext完成,PageContext屬性范圍是最重要的JSP屬性之一,但是如果使用純粹的JSP代碼開發(fā),此屬性顯示不出用處,其發(fā)揮作用在 Struts ,WebWork 中如下:html view plain copy<%page import="java.util.*"%> <% page language="java" contentType

3、="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; chars

4、et=UTF-8"> <title>Insert title here</title> </head> <body> <% /設(shè)置page屬性范圍,此屬性只在當(dāng)前JSP頁(yè)面內(nèi)起作用 pageContext.setAttribute("name", "linbingwen"); pageContext.setAttribute("time", new Date(); %> 姓名:$pageS<br> 時(shí)間:$pageScope.ti

5、me<br> </body> </html> $pageS這里用了EL表達(dá)式來(lái)取得值,輸出結(jié)果如下,這里要注意發(fā)果在其它頁(yè)面使用:如下:html view plain copy<%page import="java.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html

6、 PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body>

7、姓名:$pageS<br> 時(shí)間:$pageScope.time<br> </body> </html> 輸出結(jié)果:這說(shuō)明page范圍的值只能在本頁(yè)使用!1.4、request屬性范圍request將屬性保存在一次請(qǐng)求范圍之內(nèi):前提:必須使用服務(wù)器端跳轉(zhuǎn):<jsp:forward/> 應(yīng)用點(diǎn):MVC設(shè)計(jì)模式、Struts、 Webwork應(yīng)用實(shí)例首先是設(shè)置request:request.jsphtml view plain copy<%page import="java.util.*"%&g

8、t; <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv=&quo

9、t;Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% /設(shè)置request屬性范圍 request.setAttribute("name", "linbingwen"); request.setAttribute("time", new Date(); %> <jsp:forward

10、page="requestResult.jsp"/> </body> </html> 然后是顯示requestResult.jsphtml view plain copy<%page import="java.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBL

11、IC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> 獲取req

12、uest姓名:$requestS<br> 獲取request時(shí)間:$requestScope.time<br> </body> </html> 訪問結(jié)果:這時(shí)比如requestResult1.jsp也想來(lái)訪問這兩個(gè)屬性內(nèi)容和requestResult.jsp一樣:html view plain copy<%page import="java.util.*"%> <% page language="java" contentType="text/html; cha

13、rset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> &l

14、t;title>Insert title here</title> </head> <body> 獲取request姓名:$requestS<br> 獲取request時(shí)間:$requestScope.time<br> </body> </html> 結(jié)果如下,說(shuō)明request只針對(duì)服務(wù)器跳轉(zhuǎn)有效,在兩次跳轉(zhuǎn)之間保存。1.5、session屬性范圍session:只要設(shè)置上去,則不管是什么跳轉(zhuǎn),都可以取得屬性,主要用于驗(yàn)證用戶是否登陸。EMAIL->用戶需要先進(jìn)行登陸,登陸成功后

15、再編輯郵件。與session有關(guān)的任何打開的頁(yè)面都可以取得session比如session.jsp設(shè)置如下:html view plain copy<%page import="java.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transit

16、ional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% /設(shè)置session屬性范圍 session.setAttribute

17、("name", "linbingwen"); session.setAttribute("time", new Date(); %> <a href="sessionResult.jsp">獲取session內(nèi)容</a> </body> </html> 然后是取出sesson的值sessionResult.jsphtml view plain copy<%page import="java.util.*"%> <% pag

18、e language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Ty

19、pe" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> 獲取session姓名:$sessionS<br> 獲取session時(shí)間:$sessionScope.time<br> </body> </html> 輸出結(jié)果:如果還有一個(gè)sessionResult1.jsp和sessionResult.jsp一樣如下html view

20、 plain copy<%page import="java.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"&

21、gt; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% /設(shè)置request屬性范圍 session.setAttribute("name", "linbingwen"); session.setAttribut

22、e("time", new Date(); %> <a href="sessionResult.jsp">獲取session內(nèi)容</a> </body> </html> 然后是取出sesson的值sessionResult.jsp <%page import="java.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageE

23、ncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert titl

24、e here</title> </head> <body> 獲取session姓名:$sessionS<br> 獲取session時(shí)間:$sessionScope.time<br> </body> </html> 注意看上面的GIF動(dòng)畫和這里的獲取到的時(shí)間是一樣的,這也說(shuō)明了這兩個(gè)jsp頁(yè)面取得了同一個(gè)值 1.6、application屬性范圍只要設(shè)置一次,則所有的頁(yè)面窗口都可以取得數(shù)據(jù)。這里的值將會(huì)保存在服務(wù)器上,所以每一個(gè)用戶都可以看見。如下面application.jsp:html vi

25、ew plain copy<%page import="java.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"

26、;> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% /設(shè)置request屬性范圍 application.setAttribute("name", "linbingwen"); application.s

27、etAttribute("time", new Date(); %> <a href="applicationResult.jsp">獲取application內(nèi)容</a> </body> </html> 然后是applicationResult.jsphtml view plain copy<%page import="java.util.*"%> <% page language="java" contentType="text/

28、html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8&quo

29、t;> <title>Insert title here</title> </head> <body> 獲取application姓名:$applicationS<br> 獲取application時(shí)間:$applicationScope.time<br> </body> </html> 輸出結(jié)果:如果這時(shí)在新建一個(gè)網(wǎng)頁(yè)或新建一個(gè)新的web項(xiàng)目,但是它們兩個(gè)要運(yùn)行在同一個(gè)Tomcat中,那么它同樣也能訪問到這個(gè)值。注意:pplication、session、request-=

30、-都與要跨多個(gè)頁(yè),屬性保存是有內(nèi)存開銷的,設(shè)置過多的application或每一個(gè)session保存過多的對(duì)象,性能就降低了。原則:能用request就不要用session,能用session就不要用applicationapplication應(yīng)用:在線人員統(tǒng)計(jì)、在線人員名單列表,要釋放application資源,只能重新啟動(dòng)服務(wù)器.使用application緩存數(shù)據(jù)庫(kù)的連接,每次使用時(shí),從緩沖中取出,用完就返回。二、JSP九大內(nèi)置對(duì)象詳解內(nèi)置對(duì)象(又叫隱含對(duì)象,有9個(gè)內(nèi)置對(duì)象):不需要預(yù)先聲明就可以在腳本代碼和表達(dá)式中隨意使用JSP內(nèi)置對(duì)象映射表request 請(qǐng)求對(duì)象 類型 javax.s

31、ervlet.ServletRequest 作用域 Requestresponse 響應(yīng)對(duì)象 類型 javax.servlet.SrvletResponse 作用域 PagepageContext 頁(yè)面上下文對(duì)象 類型 javax.servlet.jsp.PageContext 作用域 Pagesession 會(huì)話對(duì)象 類型 javax.servlet.http.HttpSession 作用域 Sessionapplication 應(yīng)用程序?qū)ο?類型 javax.servlet.ServletContext 作用域 Applicationout 輸出對(duì)象 類型 javax.servlet.js

32、p.JspWriter 作用域 Pageconfig 配置對(duì)象 類型 javax.servlet.ServletConfig 作用域 Pagepage 頁(yè)面對(duì)象 類型 javax.lang.Object 作用域 Pageexception 例外對(duì)象 類型 javax.lang.Throwable 作用域 pageJSP中一共預(yù)先定義了9個(gè)這樣的對(duì)象,分別為:request、response、session、application、out、pagecontext、config、page、exception2.1、request對(duì)象request 對(duì)象是 javax.servlet.httpSer

33、vletRequest類型的對(duì)象。 該對(duì)象代表了客戶端的請(qǐng)求信息,主要用于接受通過HTTP協(xié)議傳送到服務(wù)器的數(shù)據(jù)。(包括頭信息、系統(tǒng)信息、請(qǐng)求方式以及請(qǐng)求參數(shù)等)。request對(duì)象的作用域?yàn)橐淮握?qǐng)求。實(shí)現(xiàn)常有的方法1、獲取數(shù)據(jù)java view plain copygetParameter;接收請(qǐng)求參數(shù)的, 2、對(duì)所有數(shù)據(jù)進(jìn)行再編碼java view plain copypublic byte getBytes(“encoding”) 如下實(shí)例將byte數(shù)組編碼轉(zhuǎn)換html view plain copy<% page contentType="text/html"

34、charset=gbk"%> <html> <body> <% /接收內(nèi)容 String name=request.getParameter("uname"); byte b=name.getBytes("ISO8859-1"); name=new String(b); String name= new String(request.getParameter("uname").getBytes("ISO8859-1"); %> <h1>輸入內(nèi)容為:&l

35、t;%=name%></h1> </body> </html> 3、設(shè)置統(tǒng)一的請(qǐng)求編碼java view plain copypublic void setCharacterEncoding(String env) throws UnsunpportedEncodingException 如下設(shè)置html view plain copy<% page contentType="text/html"charset=gbk"%> <html> <body> <% /接收內(nèi)容 reque

36、st.setCharacterEncoding("GBK"); String name= request.getParameter("uname"); %> <h1>輸入內(nèi)容為:<%=name%></h1> </body> </html> 4、獲取requst信息:html view plain copy<% page language="java" contentType="text/html; charset=UTF-8" pageEnco

37、ding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title h

38、ere</title> </head> <body bgcolor="#FFFFF0"> <form action="" method="post"> <input type="text" name="name"> <input type="submit" value="提交"> </form> 請(qǐng)求方式:<%=request.getMethod()%><

39、br> 請(qǐng)求的資源:<%=request.getRequestURI()%><br> 請(qǐng)求用的協(xié)議:<%=request.getProtocol()%><br> 請(qǐng)求的文件名:<%=request.getServletPath()%><br> 請(qǐng)求的服務(wù)器的IP:<%=request.getServerName()%><br> 請(qǐng)求服務(wù)器的端口:<%=request.getServerPort()%><br> 客戶端IP地址:<%=request.getRemot

40、eAddr()%><br> 客戶端主機(jī)名:<%=request.getRemoteHost()%><br> 表單提交來(lái)的值:<%=request.getParameter("name")%><br> </body> </html> 我們第一次訪問是默認(rèn)用GET方法,表單提交后使用POST方式。2.2、response對(duì)象 response 代表的是對(duì)客戶端的響應(yīng),主要是將JSP容器處理過的對(duì)象傳回到客戶端。response對(duì)象也具有作用域,它只在JSP頁(yè)面內(nèi)有效。response對(duì)象的

41、主要使用1.設(shè)置HTTP頭信息、重定向、設(shè)置COOKie(1).Web服務(wù)器收到一個(gè)http請(qǐng)求,會(huì)針對(duì)每個(gè)請(qǐng)求創(chuàng)建一個(gè)HttpServletRequest和HttpServletResponse對(duì)象,向客戶端發(fā)送數(shù)據(jù)找HttpServletResponse,從客戶端取數(shù)據(jù)找HttpServletRequest;(2).HttpServletResponse對(duì)象可以向客戶端發(fā)送三種類型的數(shù)據(jù):a.響應(yīng)頭b.狀態(tài)碼c.數(shù)據(jù)2.2.1、response對(duì)象所提供的方法。(1)設(shè)定表頭的方法java view plain copyvoid addCookie(Cookie cookie) 新增coo

42、kie void addDateHeader(String name, long date) 新增long類型的值到name標(biāo)頭 void addHeader(String name, String value) 新增String類型的值到name標(biāo)頭 void addIntHeader(String name, int value) 新增int類型的值到name標(biāo)頭 void setDateHeader(String name, long date) 指定long類型的值到name標(biāo)頭 void setHeader(String name, String value) 指定String類型的

43、值到name標(biāo)頭 void setIntHeader(String name, int value) 指定int類型的值到name標(biāo)頭 containsHeader( String name )判斷指定名字的HTTP文件頭是否已經(jīng)存在,然后返回真假布爾值 (2)設(shè)定響應(yīng)狀態(tài)碼的方法html view plain copyvoid sendError(int sc) 傳送狀態(tài)碼(status code) void sendError(int sc, String msg) 傳送狀態(tài)碼和錯(cuò)誤信息 void setStatus(int sc) 設(shè)定狀態(tài)碼 (3)用來(lái)URL 重寫(rewriting)

44、的方法html view plain copyString encodeRedirectURL(String url) 對(duì)使用sendRedirect( )方法的URL予以編碼 (4)設(shè)置重定向html view plain copysendRedirect():設(shè)置重定向頁(yè)面. 2.2.2、使用范例(1)使用response對(duì)象可以設(shè)置HTTP的頭信息。格式response.setHeader(“頭信息名稱”,”參數(shù)”),其中一個(gè)重要的頭信息:refresh(刷新)。例如,每秒刷新一次也沒,顯示刷新次數(shù):html view plain copy<%page import="j

45、ava.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <m

46、eta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <%!int i=0; %> <% /每秒刷新一次 response.setHeader("refresh","1"); %> <%=i+ %> </body> </html>

47、輸出結(jié)果如下:(2)重定向html view plain copy<%page import="java.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/

48、html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% response.setHeader("refresh","3;URL=index.jsp") ; %>

49、三秒后跳轉(zhuǎn)!<br> 如果沒有跳轉(zhuǎn),請(qǐng)按<a href="index.jsp">這里</a>! </body> </html> 來(lái)輸出結(jié)果看看:輸入http:/localhost:8080/JspLearning/responseObject1.jsp,三秒后自動(dòng)跳轉(zhuǎn)到http:/localhost:8080/JspLearning/index.jsp當(dāng)然還可以使用response.sendRedirect("*.jsp");命令如下:html view plain copy<%page

50、import="java.util.*"%> <% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <

51、head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% response.sendRedirect("index.jsp"); %> </body> </html> 輸出結(jié)果,直接重定向返回到首頁(yè)了,(3)設(shè)置cookiehtml view p

52、lain copy<%pagecontentType="text/html;charset=gb2312"%> <HTML> <HEAD> <TITLE>Cookie的使用</TITLE> </HEAD> <BODY> <% Cookie c1 = newCookie("name","aaa") ; Cookie c2 = newCookie("password","111") ; / 最大保存時(shí)間為60秒

53、 c1.setMaxAge(60) ; c2.setMaxAge(60) ; / 通過response對(duì)象將Cookie設(shè)置到客戶端 response.addCookie(c1) ; response.addCookie(c2) ; %> </BODY> </HTML> (4)讀取cookiehtml view plain copy<%page contentType="text/html;charset=gb2312"%> <HTML> <HEAD> <TITLE>Cookie的使用</T

54、ITLE> </HEAD> <BODY> <% / 通過request對(duì)象,取得客戶端設(shè)置的全部Cookie / 實(shí)際上客戶端的Cookie是通過HTTP頭信息發(fā)送到服務(wù)器端上的 Cookie c = request.getCookies() ; %> <% for(int i=0;i<c.length;i+) Cookie temp = ci ; %> <h1><%=temp.getName()%> -> <%=temp.getValue()%></h1> <% %>

55、 </BODY> </HTML> 2.3、session對(duì)象session 對(duì)象是由服務(wù)器自動(dòng)創(chuàng)建的與用戶請(qǐng)求相關(guān)的對(duì)象。服務(wù)器為每個(gè)用戶都生成一個(gè)session對(duì)象,用于保存該用戶的信息,跟蹤用戶的操作狀態(tài)。session對(duì)象內(nèi)部使用Map類來(lái)保存數(shù)據(jù),因此保存數(shù)據(jù)的格式為 “Key/value”。 session對(duì)象的value可以使復(fù)雜的對(duì)象類型,而不僅僅局限于字符串類型。(1)session(會(huì)話)對(duì)象是類javax.servlet.Httpsession的一個(gè)對(duì)象。session是從客戶端連接服務(wù)器開始,到與服務(wù)器斷開為止。(2)session對(duì)象用于保存每個(gè)

56、與服務(wù)器建立連接的客戶端的信息,session的ID保存于客戶端的Cookie中,這個(gè)session ID標(biāo)識(shí)唯一和用戶,與其他用戶的session ID不同。(3)session對(duì)象的ID:當(dāng)一個(gè)客戶端訪問服務(wù)器的一個(gè)JSP頁(yè)面時(shí),JSP引擎產(chǎn)生一個(gè)session對(duì)象,同時(shí)分配一個(gè)String類型的ID號(hào),并發(fā)給客戶端??蛻舳藢⑵浯鎯?chǔ)于Cookie.a其標(biāo)志了一個(gè)唯一的ID;采用getID()方法返回session對(duì)象在服務(wù)器端的編號(hào)。服務(wù)器端通過此ID,唯一地識(shí)別一個(gè)用戶,并提供特殊的服務(wù)。(4)session對(duì)象的有效期:存在以下幾個(gè)情況時(shí),session對(duì)象和其存儲(chǔ)的數(shù)據(jù)會(huì)消失,情況有

57、:當(dāng)用戶關(guān)閉當(dāng)前正在使用的瀏覽器時(shí);關(guān)閉網(wǎng)頁(yè)服務(wù)器。用戶未向服務(wù)器提出請(qǐng)求超預(yù)設(shè)時(shí),Tomcat服務(wù)器預(yù)設(shè)為30分鐘;運(yùn)行程序結(jié)束session.出現(xiàn)以上四種情況時(shí),session對(duì)象會(huì)消失。以下是一個(gè)簡(jiǎn)單的session登陸實(shí)例:login.jsphtml view plain copy<% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/

58、W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action=

59、"login.jsp" method="post"> 用戶名:<input type="text" name="uname"><br> 密 碼:<input type="password" name="upass"><br> <input type="submit" value="登錄"> <input type="reset" value=&q

60、uot;重置"> </form> <% String name = (String)request.getParameter("uname"); String password = (String)request.getParameter("upass"); if(!(name = null | "".equals(name) | password = null | "".equals(password) if("linlin".equals(name) &am

61、p;& "123456".equals(password) /如果登錄成功,則設(shè)置session的屬性范圍 session.setAttribute("userid", name); response.setHeader("refresh","3;URL= welcome.jsp"); %> <h3>用戶登錄成功!三秒后跳轉(zhuǎn)到歡迎頁(yè)</h3> <h3>如果沒有跳轉(zhuǎn),請(qǐng)按<a href="welcome.jsp">這里</a>

62、;</h3> <% else %> <h3>錯(cuò)誤的用戶名或密碼!</h3> <% %> </body> </html> welcome.jsphtml view plain copy<% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML

63、 4.01 Transitional/EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% /如果已經(jīng)設(shè)置過了session屬性,則肯定不為空 if(session.getAttribute("userid") != null) %> <h3>歡迎<%=session.getAttribute("userid")%>登陸<a href="logout.jsp">注銷</a></h3> <% else %> <h3>請(qǐng)先進(jìn)行本系統(tǒng)的<a href="login.jsp&qu

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論