最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Struts攔截器實(shí)現(xiàn)攔截未登陸用戶實(shí)例解析

 更新時(shí)間:2018年02月11日 16:13:35   作者:小糖豆巴拉巴拉  
這篇文章主要介紹了Struts攔截器實(shí)現(xiàn)攔截未登陸用戶實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文研究的主要是Struts攔截器實(shí)現(xiàn)攔截未登陸用戶,具體實(shí)現(xiàn)如下。

首先建立一個(gè)工具類:

checkPrivilegeInterceptor:這個(gè)類繼承interceptor,這是一個(gè)接口,要實(shí)現(xiàn)三個(gè)方法,要是覺得比較多的話,可以繼承他的實(shí)現(xiàn)類AbstractInterceptor,繼承這個(gè)類以后只需要重寫一個(gè)方法,就是在這個(gè)方法里面控制,是否登錄,登錄以后有哪些權(quán)限,等等,代碼如下;

package com.cjdx.utils;
import javax.annotation.Resource;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import com.cjdx.domain.User;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
//檢查是否有權(quán)限,這里只檢查知否登錄
public class CheckPrivilegeInterceptor extends AbstractInterceptor {
	@Override
	  public String intercept(ActionInvocation invocation) throws Exception {
		User user = (User) ActionContext.getContext().getSession().get("user");
		String nameSpace = invocation.getProxy().getNamespace();
		String actionName = invocation.getProxy().getActionName();
		String privilegeUrl = nameSpace + actionName;
		if (user == null) {
			// 如果用戶沒有登錄
			if (privilegeUrl.startsWith("/user_login")) {
				//如果用戶準(zhǔn)備去登錄,則放行
				return invocation.invoke();
			}
			{
				return "loginUI";
				//如果用戶不是去登錄,又沒有登錄,則轉(zhuǎn)到登錄頁面
			}
		} else {
			return invocation.invoke();
			//如果用戶已經(jīng)登錄,則執(zhí)行相應(yīng)的方法
		}
	}
}

然后再配置struts2.xml里:

<!-- 登錄攔截器的聲明 -->
    <interceptors>
      <!-- 聲明你已經(jīng)寫好的攔截器 -->
      <interceptor name="checkPrivilege"
        class="com.cjdx.utils.CheckPrivilegeInterceptor"></interceptor>
      <!-- 將已經(jīng)聲明的攔截器加到默認(rèn)的攔截器里面去 -->
      <!-- 這個(gè)攔截器的名字就叫做defaultStack,這樣就直接覆蓋了原來的defaultStack -->
      <!-- 如果不這樣寫,還可以在像注釋這樣添加 -->
      <interceptor-stack name="defaultStack">
        <interceptor-ref name="checkPrivilege"></interceptor-ref>
        <interceptor-ref name="defaultStack"></interceptor-ref>
      </interceptor-stack>
      <!-- 
      <interceptor-stack name="myStack">
        <interceptor-ref name="checkPrivilege"></interceptor-ref>
        <interceptor-ref name="defaultStack"></interceptor-ref>
      </interceptor-stack>
      <interceptor-stack name="defaultStack">
        <interceptor-ref name="myStack"></interceptor-ref>
      </interceptor-stack>
       -->
    </interceptors>

總結(jié)

以上就是本文關(guān)于Struts攔截器實(shí)現(xiàn)攔截未登陸用戶實(shí)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • spring中的特殊注解@RequiredArgsConstructor詳解

    spring中的特殊注解@RequiredArgsConstructor詳解

    這篇文章主要介紹了spring中的特殊注解@RequiredArgsConstructor,包括注解注入,構(gòu)造器注入及setter注入,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 詳解SpringMVC的url-pattern配置及原理剖析

    詳解SpringMVC的url-pattern配置及原理剖析

    這篇文章主要介紹了SpringMVC的url-pattern配置及原理剖析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Java并發(fā)編程中的synchronized關(guān)鍵字詳細(xì)解讀

    Java并發(fā)編程中的synchronized關(guān)鍵字詳細(xì)解讀

    這篇文章主要介紹了Java并發(fā)編程中的synchronized關(guān)鍵字詳細(xì)解讀,在Java早期版本中,synchronized 屬于 重量級(jí)鎖,效率低下,這是因?yàn)楸O(jiān)視器鎖(monitor)是依賴于底層的操作系統(tǒng)的Mutex Lock來實(shí)現(xiàn)的,Java 的線程是映射到操作系統(tǒng)的原生線程之上的,需要的朋友可以參考下
    2023-12-12
  • mybatis中嵌套使用foreach需要注意的坑

    mybatis中嵌套使用foreach需要注意的坑

    在使用MyBatis進(jìn)行數(shù)據(jù)庫操作時(shí),如果需要在一個(gè)大的foreach標(biāo)簽中嵌套另一個(gè)foreach,需要注意內(nèi)層foreach的item屬性不能與外層重復(fù),如果出現(xiàn)重復(fù),會(huì)導(dǎo)致綁定參數(shù)時(shí)找不到正確的參數(shù),從而拋出異常
    2024-09-09
  • spring security自定義認(rèn)證登錄的全過程記錄

    spring security自定義認(rèn)證登錄的全過程記錄

    這篇文章主要給大家介紹了關(guān)于spring security自定義認(rèn)證登錄的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • 測(cè)試環(huán)境頻繁Full GC問題的解決思路分析

    測(cè)試環(huán)境頻繁Full GC問題的解決思路分析

    全文介紹了作者通過與調(diào)用方交互,發(fā)現(xiàn)welink-front服務(wù)不可用的問題,通過jmap-heap和jstat-gccause命令,作者找到了問題的原因是元數(shù)據(jù)區(qū)內(nèi)存使用率過高,觸發(fā)了FullGC,作者通過分析GC日志和堆內(nèi)存使用情況,確定了問題的根本原因
    2025-01-01
  • Java計(jì)算一個(gè)數(shù)加上100是完全平方數(shù),加上168還是完全平方數(shù)

    Java計(jì)算一個(gè)數(shù)加上100是完全平方數(shù),加上168還是完全平方數(shù)

    這篇文章主要介紹了Java計(jì)算一個(gè)數(shù)加上100是完全平方數(shù),加上168還是完全平方數(shù),需要的朋友可以參考下
    2017-02-02
  • [Spring MVC] -簡(jiǎn)單表單提交實(shí)例

    [Spring MVC] -簡(jiǎn)單表單提交實(shí)例

    本篇文章主要介紹了[Spring MVC] -簡(jiǎn)單表單提交實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。
    2016-12-12
  • Maven模版Bug及解決辦法

    Maven模版Bug及解決辦法

    默認(rèn),會(huì)幫我們創(chuàng)建src/main/resources 按照Maven的規(guī)范,Maven會(huì)有3個(gè)目錄,分別是: src/main/java : java源文件存放位置 src/main/resource : resource資源,如配置文件等 src/test/java : 測(cè)試代碼源文件存放位置
    2016-04-04
  • 關(guān)于Spring Cloud 本地屬性覆蓋的問題

    關(guān)于Spring Cloud 本地屬性覆蓋的問題

    這篇文章主要介紹了關(guān)于Spring Cloud 本地屬性覆蓋的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論

棋牌| 天等县| 武邑县| 侯马市| 江安县| 寻甸| 和静县| 辽阳县| 赤峰市| 香河县| 科技| 松原市| 黄陵县| 广西| 格尔木市| 纳雍县| 二连浩特市| 九江县| 池州市| 宁陕县| 盘山县| 绥宁县| 喀喇| 霍城县| 始兴县| 保康县| 定远县| 同德县| 溆浦县| 通州区| 武宁县| 翁源县| 甘泉县| 禄劝| 昆山市| 新乡县| 如东县| 弋阳县| 临漳县| 乐清市| 云浮市|