JSPSession如何處理-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)是一家集成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站制作公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負責(zé)任的原則,為您進行細心、貼心、認真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。

ASP程序員經(jīng)常要在global.asa文件內(nèi)處理Application_start,Session_Start等

事件,如:用戶驗證、重定向不同編碼頁面等,十分方便,然而一向頗受歡迎的JSP并不很支持這種處理,除了商業(yè)化服務(wù)器JRun支持global.jsa以外,竟連應(yīng)用率極高的開放源碼服務(wù)器tomcat都不支持,這給JSP的開發(fā)造成不小障礙,雖然早期Tomcat(5.0以前版本)下可以通過以下方式實現(xiàn)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已經(jīng)建立,并且不能在Session創(chuàng)建時處理驗證等事件,通過研究Servlet 2.4(Tomcat5.0內(nèi)建)終于找到一種可行方法,實現(xiàn)方法如下:

//---------------------- 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創(chuàng)建時可以實現(xiàn)對Session用戶進行驗證,以及關(guān)閉Session,限制IP地址訪問等,這里僅以記錄Session來源為例(SessionListener.java)

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

 

 listeners.SessionListener

以上是“JSP Session如何處理”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

分享文章:JSPSession如何處理-創(chuàng)新互聯(lián)
分享鏈接:http://muchs.cn/article34/dpoise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、外貿(mào)建站、品牌網(wǎng)站建設(shè)、網(wǎng)站策劃、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司