1、セッション
1.概要:セッションオブジェクトは、リクエストに関連するHttpSessionオブジェクトであり、クライアントの応答に関連するすべての情報をカプセル化します。セッションオブジェクトのIDは、クライアントがサーバーのJSPページに初めてアクセスしたときに、JSPエンジンによって生成されたセッションオブジェクトを指します。 ID番号がに保存され、クライアントに送信される一方、ID、JSPエンジンの文字タイプを割り当てるクッキーで
2.簡単に言うと、セッションサーバーはクライアントにIDとブラウザにIDを与え、セッションオブジェクトとクライアント間で1対1の対応が確立されるようにします。
3.例:ユーザーが商品をショッピングカートに入れると、セッションで選択した製品情報を保存でき、支払いやその他の操作が必要な場合は、セッションの情報を取り出すことができます。
シリアル番号 | メソッド名 | 効果 |
---|---|---|
01 | getAttribute(文字列名) | 指定された名前の属性を取得します |
02 | getAttributeNames() | 戻るセッションにオブジェクトの背面に格納されているオブジェクトの各プロパティを |
03 | getCreationTime() | セッションオブジェクトの作成時間を返します |
04 | getId() | 現在のセッションオブジェクトの数を返します |
05 | getLastAccessedTime | 現在のセッションオブジェクトが最後に操作された時刻を返します |
06 | getMaxInactiveInterval() | セッションオブジェクトの寿命を返します |
07 | removeAttribute(文字列名) | 指定された属性の属性値と属性名を削除します |
08 | setAttribute(文字列名、オブジェクトobj) | 指定された名前の属性を設定します |
09 | 無効化() | 現在のセッションをキャンセル |
10 | 新しく追加されました() | 新しいセッションかどうかを判断する |
4. 組み込みオブジェクトセッションのためのいくつかの優れたサイト演習を推奨する
```login.html记录用户表单
<meta http-equiv="Content-Type" content="text/html charset=UTF-8">
<html>
<head>
<title>用户登录</title>
</head>
<body>
<form method="POST" action="login1.jsp">
<p>用户名:<input type="text" name="user" size="18"></p>
<p>密码:<input type="text" name="pass" size="18"></p>
<p><input type="submit" value="提交" name="ok">
<input type="reset" value="重置" name="cancel"></p>
</from>
</body>
</html>
login1.jsp记录表单
<%@ page contentType="text/html;charest=UTF-8" pageEncoding="UTF-8"%>
<html>
<head><title>session 应用演示</title></head>
<%
if(request.getParameter("user")!=null && request.getParameter("pass")!=null)
{
String strName=request.getParameter("user");
String strPass=request.getParameter("pass");
if(strName.equals("QIE") && strPass.equals("QIE"))
{
session.setAttribute("login","OK");
session.setAttribute("me",strName);
response.sendRedirect("welcome.jsp");
}
else{
out.println("<h2>登录错误,请输入正确的用户名和密码</h2>");
}
}
%>
</html>
session读取
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head><title>欢迎光临</title></head>
<body>
<%
String strLogin=(String)session.getAttribute("login");
String strUser=(String)session.getAttribute("me");
if(strLogin==null)
{
out.println("<h2>请先登录,谢谢!<h2>");
out.println("<h2>5秒钟后,自动跳转到登录页面!</h2>");
response.setHeader("Refresh","5;URL=login1.html");
}
else
{
if(strLogin.equals("OK"))
{
out.println(strUser+"<h2>欢迎进入我们的网站!</h2>");
}
else
{
out.println("<h2>用户名或密码错误,请重新登录!<h2>");
out.println("<h2>5秒钟后,自动跳转到登录页面!</h2>");
response.setHeader("Refresh","5;URL=login1.html");
}
}
%>
</body>
</html>
二、応用
1.概要:セッションはユーザー情報を保存することであり、アプリケーションはサーバー情報を保存することです。サーバーがシャットダウンすると、アプリケーションのライフサイクルが終了します。
2.インスタンスアプリケーションカウンター
创建applicationdemo1.jsp
<%@ page contentType="text/html;charest=UTF-8" %>
<html>
<head><title>application应用演示</title></head>
<body>
<%
application.setAttribute("user","QIE");
application.setAttribute("pass","QIE518");
%>
<jsp:forward page="applicationdemo2.jsp"/>
</body>
</html>
创建applicationdemo2.jsp
<%@ page contentType="text/html;charest=UTF-8;pageEncoding=UTF-8" %>
<html>
<head><title>application应用演示</title></head>
<body>
<%
String strName=(String) application.getAttribute("user");
String strPass=(String) application.getAttribute("pass");
out.println("user="+strName);
out.println("pass="+strPass);
%>
</body>
</html>
创建applicationdemo3.jsp
<%@ page contentType="text/html;charset=UTF-8" import="java.util.Date"%>
<html>
<head><title>计数器应用</title></head>
<body>
<center>
<font size=5 color=blue >application计数器</font>
</center>
<hr>
<%
String strNum=(String) application.getAttribute("num");
int num=0;
if(strNum !=null)
num=Integer.parseInt(strNum)+1;
application.setAttribute("num", String.valueOf(num));
%>
访问次数为:
<font color=red><%=num%></font></br>
</body>
</html>