日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php框架 > 框架設(shè)計(jì) > struts2攔截器之用戶session判斷

struts2攔截器之用戶session判斷

來源:程序員人生   發(fā)布時(shí)間:2015-04-17 08:37:42 閱讀次數(shù):3305次

        幾近每一個(gè)J2EE的項(xiàng)目都會(huì)觸及用戶模塊,只要觸及到就有用戶登陸登出及其session的1些管理和判斷,我之前也寫過很多關(guān)于這方面的代碼,只是寫但沒做總結(jié),今天就做1次簡(jiǎn)單的總結(jié),也方便新人學(xué)習(xí)或鑒戒.好了空話不多說,言回正題.

        今天主要是講授的是struts2對(duì)session的判斷和攔截.

首先我們?cè)趕truts的xml配置文件寫入攔截器的配置信息,以下:

<package name="struts2" namespace="/" extends="struts-default"> <!-- 定義1個(gè)攔截器 --> <interceptors> <!-- 權(quán)限攔截器 <interceptor name="authority" class="com.smartsoft.interceptor.AuthorityIterceptor"> </interceptor> --> <!-- session攔截器--> <interceptor name="sessionout" class="com.smartsoft.interceptor.SessionIterceptor"></interceptor> <!-- 攔截器棧 --> <interceptor-stack name="mystack"> <interceptor-ref name="defaultStack" /> <!-- 權(quán)限攔截 <interceptor-ref name="authority" /> --> <!-- session攔截--> <interceptor-ref name="sessionout" /> </interceptor-stack> </interceptors> <!-- 定義全局Result --> <global-results> <!-- 當(dāng)返回login視圖名時(shí),轉(zhuǎn)入/login.jsp頁(yè)面 --> <result name="toLogin">/login.jsp</result> </global-results> </package>

代碼所示,我定義了1個(gè)名字為struts2的package,里面定義了攔截器interceptors和全局視圖的跳轉(zhuǎn),在攔截器中定義了1個(gè)sessionout,便是我們的session判斷功能,他指向class以下:

package com.smartsoft.interceptor; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; import com.smartsoft.model.User; import com.smartsoft.util.Constants; public class SessionIterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation actionInvocation) throws Exception { //獲得要求的URL String url = ServletActionContext.getRequest().getRequestURL().toString(); HttpServletResponse response=ServletActionContext.getResponse(); response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setHeader("Cache-Control", "no-store"); response.setDateHeader("Expires",0); User loginUser = null; //對(duì)登錄與注銷要求直接放行,不予攔截 if (url.indexOf("login")!=⑴ || url.indexOf("logout")!=⑴){ return actionInvocation.invoke(); } else{ //驗(yàn)證Session是不是過期 if(!ServletActionContext.getRequest().isRequestedSessionIdValid()){ //session過期,轉(zhuǎn)向session過期提示頁(yè),終究跳轉(zhuǎn)至登錄頁(yè)面 System.out.println("session過期"); return "toLogin"; } else{ loginUser = (User)ServletActionContext.getRequest().getSession().getAttribute(Constants.USER_SESSION); //驗(yàn)證是不是已登錄 if (loginUser==null){ //還沒有登錄,跳轉(zhuǎn)至登錄頁(yè)面 return "toLogin"; }else{ return actionInvocation.invoke(); } } } } }

以上代碼邏輯比較簡(jiǎn)單,獲得當(dāng)前session的用戶,并判斷他是不是存在,以此作為根據(jù)判斷他是不是在登陸狀態(tài),是則放行,否則調(diào)到實(shí)現(xiàn)定義好的登錄界面

以上只是攔截器的整定義進(jìn)程,何如才能把他應(yīng)用到我們需要的連接上呢?具體還需要在每一個(gè)struts的action上加上以下配置才可以,比如

<package name="db" namespace="" extends="struts2"> <action name="index" method="index" class="com.smartsoft.action.IndexAction"> <result>/index.jsp</result> <interceptor-ref name="mystack" /> </action> <action name="login" method="login " class="com.smartsoft.action.IndexAction"> <result type="redirect">index</result> <interceptor-ref name="mystack" /> </action> </package>

比如這是我定義的1個(gè)登錄的xml配置,由于我不是與攔截器寫在同1package下的,所以,但我這里需要用到之前的攔截器,需要把當(dāng)前另起的package繼承攔截器所屬的package,具體代碼在packge的extends填入攔截器的package的name就好了,繼承1說罷了,然后再每一個(gè)需要攔截判斷的action里加上這句配置就好了,如果是直接寫在攔截器的package就直接用就好了,不存在繼承,呵呵

<interceptor-ref name="mystack" />

好了,就說到這里吧,不明白的同學(xué)或,有更好的建議可以給我留言,感謝瀏覽本篇文章,轉(zhuǎn)發(fā)請(qǐng)標(biāo)明出處,謝謝



生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 美女h网站 | 欧洲精品码一区二区三区免费看 | 干干干操操操 | 91视频精品 | 日韩精品免费一区二区夜夜嗨 | 精品一二三区在线观看 | 最近中文字幕视频 | 99九九热| 亚洲精品电影在线 | 国产一区自拍视频 | 国产精品日韩精品 | 国产精品视频免费观看 | 久久久久久伦理 | 黄色一级视频播放 | 麻豆一二区 | 欧美高清在线观看 | 国产一区二区三区免费观看在线 | 国产精品视频播放 | 在线久草 | 五月av | 成人免费视频国产 | 黄a视频在线观看 | 久久久久久久国产精品视频 | a久久天堂国产毛片精品 | 一区二区日韩精品 | 国产成人在线播放 | 国产精品二区一区二区aⅴ污介绍 | 三级网站免费看 | 国产精品久久久久久久午夜 | 自拍偷拍亚洲精品 | 黄色片视频在线观看 | 精品一区二区三区四区五区六区七区 | 日本特级片 | 福利视频三区 | 欧美专区视频 | 日韩精品电影在线观看 | 国产黄在线观看 | 久久电影国产免费久久电影 | 91精品国产综合久久小美女 | 国产成人99久久亚洲综合精品 | 成人免费视频播放器 |