• 沒有找到結果。

TFTTJPO ᄊၷ֑ևర

䗮䖛 5.3.3 㡖Ёⱘҟ㒡ˈsession ೼ Tomcat ᳡ࡵ఼Ё咬䅸ⱘ᳔໻ડᑨᯊ䯈ᰃ 30 ߚ䩳ˈ䖭㸼

⼎ session ⱘᄬ೼ڣҎⱘ⫳ੑϔḋ᳝ᯊ䯈䰤ࠊˈᢹ᳝⡍⅞ⱘ⫳ੑ਼ᳳDŽ

session⬅Ѣ೼ JSP ᆍ఼ЁӮ㞾ࡼ߯ᓎˈৃҹ䗮䖛䇗⫼ session ᇍ䈵ⱘ isNew()ᮍ⊩ᴹ߸ᮁ

ᔧࠡ session ᰃ৺ЎᮄᓎDŽ᠔䇧ᮄᓎ session ህᰃ Web Server ㄀ϔ⃵ડᑨᅶ᠋ッˈ㒭⌣㾜఼䖨ಲ

      

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

<title>JSP Page</title>

<jsp:include page="inc_AllPages.jsp"/>

<font color="red"> <%=error%> </font>

<form action="lesson5d6_valid.jsp" method="post">

<table>

%JCRVGT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<jsp:useBean id="validbean" class="org.me.afro.ValidateUP"/>

<jsp:setProperty name="validbean" property="*"/>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

<title>Valid Page</title>

      

public void setUsername(String username) { this.username = username;

%JCRVGT

public void setPassword(String password) { this.password = password;

}

private boolean validate() {

if (password != null && username != null) {

if (username.equalsIgnoreCase("afro") && password.equals("1a2b3C")

|| username.equalsIgnoreCase("bee") && password.equals("A1b2c3")) { this.blValid = true;

} else {

this.blValid = false;

}

}

return blValid;

}

/**

* @return the blValid */

public boolean isBlValid() { return validate();

} }

lesson5d6a.jsp义䴶 A ҷⷕ˖

<%@page contentType="text/html" pageEncoding="GB2312"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

<title>A Page</title>

</head>

<%

String aName = (String) session.getAttribute("username");

if (aName == null) {

request.setAttribute("error", "䇋ᙼܜⱏᔩݡ䆓䯂ʽ");

request.getRequestDispatcher("index.jsp").forward(request, response);

} %>

      

%JCRVGT

<body>

<jsp:include page="inc_AllPages.jsp"/>

<font style="color:red">Welcome <%=aName%> to A!</font>

<%

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

<title>B Page</title>

<jsp:include page="inc_AllPages.jsp"/>

<form>

<font style="color:green">Welcome <%=bName%> to B!</font>

Do u remember ur password?

<input type="submit" value="Yes" name="viewPass" />

</form>

<%

if (request.getParameter("viewPass") != null&&request.getParameter

%JCRVGT

("viewPass").equals("Yes")) { %>

<i><%=session.getAttribute("password").toString()%></i>

<%

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

<title>inc_AllPage</title>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

      

%JCRVGT

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

<title>inc_AllPage</title>

</head>

<body>

<h1>

<table border="1">

<tr>

<td><a href="index.jsp">䖨ಲⱏᔩ义䴶</a></td>

</tr>

<tr>

<td><a href="lesson5d6a.jsp">A义䴶</a></td>

</tr>

<tr>

<td><a href="lesson5d6b.jsp">B义䴶</a></td>

</tr>

<tr>

<td><a href="lesson5d6_closeSession.jsp">Close_Session</a></td>

</tr>

</table>

</h1>

</body>

</html>

՟ 5-6index.jsp ⱏᔩ义䴶ⱘ䖤㸠㒧ᵰབ೒ 5-13 ᠔⼎ˈlesson5d6a.jsp 义䴶ⱘ䖤㸠㒧ᵰབ೒

5-14᠔⼎DŽ

೒ 5-13 ⱏᔩ义䴶 ೒ 5-14 义䴶 A

lesson5d6b.jsp义䴶ⱘ䖤㸠㒧ᵰབ೒ 5-15 ᠔⼎ˈlesson5d6_closeSession.jsp ݇䯁Ӯ䆱义ⱘ䖤 㸠㒧ᵰབ೒ 5-16 ᠔⼎DŽ

%JCRVGT

೒ 5-15 义䴶 B ೒ 5-16 ݇䯁 session 义

݇䯁 session Пৢˈݡ䏇䕀ࠄ义䴶 A ៪ Bˈᰒ⼎㒧ᵰབ೒ 5-17 ᠔⼎DŽ

೒ 5-17 session 㹿䫔↕ˈ䆄ᔩⱘᇍ䈵ϔᑊ㾷䰸

  ͘ភፅࠀᄣզ٨

⬅Ѣ session ݋᳝⫳ᄬᯊ䰤ˈֱᄬ೼ session 㓧ᄬЁⱘᇍ䈵᭄᥂ᇚᰃЈᯊᗻⱘˈ೼ᶤѯᚙމ ϟˈ䳔㽕ᡞЈᯊᄬټ೼ session Ёⱘᇍ䈵೼ session 㒧ᴳᯊᣕЙ࣪ഄᄬټࠄ᭛ӊ㋏㒳៪᭄᥂ᑧЁ˗

঺ϔ⾡ᚙމᰃˈᇍ䈵੠ session ݇㋏㋻ᆚˈᇍ䈵ⱘ↣ϔ⃵ᬍব䛑䳔㽕䗮ⶹ session ঞᯊ䆄ᔩֱᄬˈ 䖭ህ䳔㽕೼䙷ѯ䳔㽕ᕫࠄ session ेᯊ⢊ᗕⱘᇍ䈵Ϟ㒥ᅮϔϾⲥ਀఼ˈ೼ҹϞϸ⾡ᚙމথ⫳ᯊˈ ѻ⫳ϔϾџӊ Event ᴹⲥ㾚Ӯ䆱DŽ

Ӯ䆱㒥ᅮⲥ਀఼ᰃ Servlet ᦤկⱘϔϾ᥹ষˈ᥹ষৡЎ HttpSessionBindingListenerˈ䆹᥹ষ

ࣙ৿ҹϟϸϾᢑ䈵ᮍ⊩˖

 public void valueBound(HttpSessionBindingEvent event);

 public void valueUnbound(HttpSessionBindingEvent event);

ᔧᇍ䈵䳔㽕ᄬܹ session ᯊˈӮ㞾ࡼ䇗⫼ valueBound()ᮍ⊩ˈ㢹 session 㹿䫔↕ˈӮ㞾ࡼ䇗

⫼ valueUnbound()ᮍ⊩DŽ

Ӯ䆱ⲥ਀ⱘЏ㽕Ӭ࢓೼Ѣϡㅵᅶ᠋ッᰃЏࡼ݇䯁 Web ᑨ⫼䖬ᰃӮ䆱䍙ᯊˈӮ䆱ⲥ਀఼᥹

ষӮ䖙䗳خߎডᑨˈৠᯊгӮಲᬊ session ೼ᄬ೼ᯊऴ⫼ⱘ㋏㒳䌘⑤DŽ

      

%JCRVGT

  ࠄΓࠄဘ

䗮䖛ᴀゴⱘᄺдˈ5.1 㡖ᓩܹⱘ CHERRYONE ݀ৌ䳔㽕ᬍ㡃ⱘࠡҷॳൟˈ䇏㗙ᰃ৺㛑໳ḍ

᥂ 5.1 㡖㒭ߎⱘࡳ㛑䳔∖㞾㸠ᅲ⦄ਸ਼˛ϟ䴶ᴹⳟϔϟ Zac ᓔথಶ䯳ᰃབԩᅲ⦄䆹ॳൟⱘDŽ ᦤ⼎˖·ჃಬैᅖྑಾၽဈܜԈৃ࠘ੋචަ Cookie ԅࠄೌֺ֥ēω̟ზै 5-3 ԅಬຣֺ

಴ēဈ EL ᆴนζӦᄯࣅߑ value ೫໿ԅᄔēලನඔ٢ဈܜ༓ྑͬӉ Cookie ԅನ޷dၽ׻๠୶ ժඹڶྡྷّ Servlet ճဈܜԅ Cookie ைௐࠩ໻҉सē௶܊ඹڶ response.sendRedirect()ֺ֥ණᅧ Ӿອ࿫ԅ࡮ပဈܜဴཝܬࡂԅྚੋᄯd

  ˸ᮥ

1ˊ㾷䞞 Java Web ⱘӮ䆱ㅵ⧚ᴎࠊDŽ

2ˊCookies ᡔᴃ੠ JSP Ё session ⱘऎ߿ᰃҔМ˛

3ˊJSP ⱘ 4 ⾡Ӯ䆱䎳䏾ᡔᴃᰃાѯ˛

4ˊㅔ䗄 JSP Ё session ⱘ⫳ੑ਼ᳳDŽ 5ˊJSP 㔥义ЁЎҔМ䳔㽕ᓩܹӮ䆱˛

相關文件