一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

使用Filter對(duì)用戶權(quán)限和session的控制

 冷刃寒冰 2010-01-19

package com.drp.util.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class AuthFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException {
/** 1,doFilter方法的第一個(gè)參數(shù)為ServletRequest對(duì)象。此對(duì)象給過濾器提供了對(duì)進(jìn)入的信息(包括
*  表單數(shù)據(jù)、cookie和HTTP請(qǐng)求頭)的完全訪問。第二個(gè)參數(shù)為ServletResponse,通常在簡(jiǎn)單的過
*  濾器中忽略此參數(shù)。最后一個(gè)參數(shù)為FilterChain,此參數(shù)用來調(diào)用servlet或JSP頁。
*/
HttpServletRequest request = (HttpServletRequest)servletRequest;
/** 如果處理HTTP請(qǐng)求,并且需要訪問諸如getHeader或getCookies等在ServletRequest中
*  無法得到的方法,就要把此request對(duì)象構(gòu)造成HttpServletRequest
*/
HttpServletResponse response = (HttpServletResponse)servletResponse;
String currentURI = request.getRequestURI(); //取得根目錄所對(duì)應(yīng)的絕對(duì)路徑:
String targetURI = currentURL.substring(currentURL.indexOf("/", 1),
currentURL.length()); //截取到當(dāng)前文件名用于比較
/*"/drp1.5/login.jsp"在drp1.5之前的"/"表示第0個(gè)"/"   currentURI.indexOf("/", 1)求出currentURI字符串中第二次出現(xiàn)"/" */
HttpSession session = request.getSession(false);/*表示如果有session則使用當(dāng)前的session,如果沒有session也不創(chuàng)建session;*/

if (!"/login.jsp".equals(targetURL)) {
//判斷當(dāng)前頁是否是重定向以后的登錄頁面頁面,如果是就不做session的判斷,防止出現(xiàn)死循環(huán)
if (session == null || session.getAttribute("user") == null) {
//*用于限制用戶登錄以后或者登陸時(shí)手動(dòng)添加session
//1.當(dāng)用戶登陸以后session過期了,跳轉(zhuǎn)到登陸頁面;(session == null )
//2.當(dāng)在登陸頁面還沒有登陸時(shí)用戶自己手動(dòng)通過url登陸到系統(tǒng)的時(shí)候;(session.getAttribute("user") == null)
System.out.println("request.getContextPath()=" + request.getContextPath());
response.sendRedirect(request.getContextPath() + "/login.jsp");
//如果session為空表示用戶沒有登錄就重定向到login.jsp頁面
return;
}
}
//加入filter鏈繼續(xù)向下執(zhí)行
filterChain.doFilter(request, response);
/** 調(diào)用FilterChain對(duì)象的doFilter方法。Filter接口的doFilter方法取一個(gè)*FilterChain對(duì)象作為它的一個(gè)參數(shù)。在調(diào)用此對(duì)象的doFilter方法時(shí),激活下一個(gè)相*關(guān)的過濾器。
*如果沒有另一個(gè)過濾器與servlet或JSP頁面關(guān)聯(lián),則servlet或JSP頁面被激活。
*/
}
public void init(FilterConfig filterConfig) throws ServletException {
}
}
  然后在配置文件web.xml里添加: (請(qǐng)注意,過濾是在serlvet規(guī)范2.3版中初次引入的。因此,web.xml文件必須使用DTD的2.3以上版本。)
<filter>
<filter-name>AuthFilter</filter-name>
<filter-class>com.drp.util.filter.AuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<url-pattern>*.jsp</url-pattern>//表示對(duì)所有jsp文件有效
</filter-mapping>


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    在线视频免费看你懂的| 亚洲精品高清国产一线久久| 国产欧美一区二区三区精品视| 日本人妻免费一区二区三区| 日本午夜免费观看视频| 欧美日韩国内一区二区| 成人免费高清在线一区二区| 日韩人妻av中文字幕| 中文字幕日韩欧美一区| 亚洲国产av精品一区二区| 91亚洲精品亚洲国产| 美国黑人一级黄色大片| 久久99精品国产麻豆婷婷洗澡 | 午夜国产精品福利在线观看| 日韩精品中文在线观看| 99精品国产自在现线观看| 欧美日韩国产自拍亚洲| 国产主播精品福利午夜二区| 亚洲日本加勒比在线播放| 太香蕉久久国产精品视频| 日本免费一本一二区三区| 国产小青蛙全集免费看| 大香蕉再在线大香蕉再在线| 亚洲欧美国产中文色妇| 日本人妻中出在线观看| 久久碰国产一区二区三区| 中国少妇精品偷拍视频| 日韩中文字幕视频在线高清版| 欧美日韩国产欧美日韩| 午夜精品麻豆视频91| 国产精品熟女乱色一区二区| 国产一区二区三区草莓av| 国产一级片内射视频免费播放| 日韩一级毛一欧美一级乱| 国产欧美韩日一区二区三区| 成人精品视频一区二区在线观看| 妻子的新妈妈中文字幕| 污污黄黄的成年亚洲毛片| 精品国产日韩一区三区| 日韩精品一级一区二区| 日韩欧美综合在线播放|