91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSP Session如何處理

發布時間:2021-11-22 13:38:01 來源:億速云 閱讀:139 作者:小新 欄目:編程語言

小編給大家分享一下JSP Session如何處理,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

ASP程序員經常要在global.asa文件內處理Application_start,Session_Start等

事件,如:用戶驗證、重定向不同編碼頁面等,十分方便,然而一向頗受歡迎的JSP并不很支持這種處理,除了商業化服務器JRun支持global.jsa以外,竟連應用率極高的開放源碼服務器tomcat都不支持,這給JSP的開發造成不小障礙,雖然早期Tomcat(5.0以前版本)下可以通過以下方式實現Session-start事件處理

1.  添加Session

session.put(“bind.listener”,new MyListener(getservletContext())

2.  定義MyListener類

import Javax.servlet.http.*;

import javax.servlet.*;

public class MyListener implements HttpSessionBindingListener

{

  ServletContext context;

  public ODSessionListener(ServletContext context)

  {

  this.context=context;

  }

  public void valueBound(HttpSessionBindingEvent event)

  {

  System.out.println(“bound”);

  }

  public void valueUnBound(HttpSessionBindingEvent event)

  {

  System.out.println(“unbound”);

  }

}

XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

但處理前提是Session已經建立,并且不能在Session創建時處理驗證等事件,通過研究Servlet 2.4(Tomcat5.0內建)終于找到一種可行方法,實現方法如下:

//---------------------- SessionListener.java----------------------------------------------------

package listeners;

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.http.HttpSessionAttributeListener;

import javax.servlet.http.HttpSessionBindingEvent;

import javax.servlet.http.HttpSessionEvent;

import javax.servlet.http.HttpSessionListener;

// ServletRequestListener為Servlet2.4新增接口

import javax.servlet.ServletRequestListener;

import javax.servlet.ServletRequestEvent;

import javax.servlet.http.HttpServletRequest;

public final class SessionListener

implements HttpSessionListener,ServletRequestListener {

private  HttpServletRequest  request;

public void requestDestroyed(ServletRequestEvent sre) { }

public  void requestInitialized(ServletRequestEvent sre)

 {

  request=(HttpServletRequest)sre.getServletRequest();

  }

  public void sessionCreated(HttpSessionEvent event) {

  String logMsg=event.getSession().getId()

  +"'  '"+request.getRemoteAddr()

  +":"+request.getRemotePort();

  log("sessionCreated('" + logMsg + "')");

  }

  public void sessionDestroyed(HttpSessionEvent event) {

  log("sessionDestroyed('" + event.getSession().getId() + "')");

  }

  private void log(String message) {

  System.out.println("SessionListener: " + message);

  }

}

在開始接到客戶端請求(requestInitialized)時,獲得當前的HttpRequest對象保存在私有成員 request 中,這樣在Session創建時可以實現對Session用戶進行驗證,以及關閉Session,限制IP地址訪問等,這里僅以記錄Session來源為例(SessionListener.java)

編譯這個類后還要在web.xml的host元素內加入以下行:

 

 listeners.SessionListener

以上是“JSP Session如何處理”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

姜堰市| 毕节市| 凤凰县| 保定市| 玉环县| 卢龙县| 皮山县| 应用必备| 安图县| 台东市| 宁陵县| 无为县| 保德县| 贡嘎县| 绥棱县| 龙里县| 上蔡县| 都匀市| 滦平县| 明溪县| 大悟县| 惠来县| 镇沅| 金华市| 镇巴县| 达日县| 宣城市| 六枝特区| 曲麻莱县| 台东市| 博野县| 德兴市| 河曲县| 建水县| 师宗县| 临朐县| 常宁市| 福州市| 扎囊县| 利川市| 益阳市|