1)登录界面代码:

<%
//设置session的值keyword为user
request.getSession().setAttribute("user", "Enter");
%>
用户已登录

2)退出界面的代码:

<%
  //取消session中设定的值,即user为null request.getSession().removeAttribute("user");
%>
用户已经退出登录

3)拦截器类PermissionInterceptor的代码:

public class PermissionInterceptor implements Interceptor {

	public void destroy() {// 销毁时调用
} public void init() {// 启用时调用
} // 该方法返回视图名称
public String intercept(ActionInvocation invocation) throws Exception { // 取得user的内容
Object user = ActionContext.getContext().getSession().get("user"); // 假设user不为null表示用户已经登录,同意运行Action
if (user != null) {
return invocation.invoke();// 调用Action
}   // 假设user为空,不调用Action,而且向session中存入字符串"你没有权 限运行该操作"
ActionContext.getContext().put("message", "你没有权限运行该操作");
return "success";
}
}

3)struts.xml文件的配置:

<struts>
<package name="packageName" namespace="/test"
  extends="struts-default"> <!--定义拦截器群 -->
<interceptors>
<interceptor name="permission" class="permissionInterceptor.PermissionInterceptor" />
<!-- 自己定义拦截器栈 -->
<interceptor-stack name="permissionStack">
<!--系统自己定义拦截器栈,先于自己定义拦截器引入 -->
<interceptor-ref name="defaultStack" />
<!--引入自己定义拦截器 -->
<interceptor-ref name="permission" />
</interceptor-stack>
</interceptors> <!-- 定义默认全局拦截器
  <default-interceptor-ref name="permissionStack" />
  --> <!--定义全局视图 -->
<global-results>
<result name="success">/index.jsp</result>
</global-results> <action name="hello*"
  class="interceptor.interceptorAction" method="{1}">
<!-- 手动调用系统拦截器,当使用手动调用时该拦截器时,定义的 系统默认拦截器不会使用 -->
<interceptor-ref name="permissionStack" />
<!-- 当调用自己定义拦截器时,仅仅有将系统拦截器,先调用 採用同
  时使用自己定义拦截器和系统拦截器 -->
<interceptor-ref name="interceptorName" />
</action> </package>
</struts>

版权声明:本文博主原创文章,博客,未经同意不得转载。

struts2_11_实现自己的拦截器的定义的更多相关文章

  1. spring拦截器的定义

    (一).拦截器的定义 1.为什么需要拦截器:在做身份认证或者是进行日志的记录时,我们需要通过拦截器达到我们的目的 2.什么事拦截器:在AOP(Aspect-Oriented Programming)中 ...

  2. Struts2他们拦截器实例定义—登陆权限验证

    版本号:struts2.1.6 这种情况下实现功能:用户需要指定username登陆,进入相应的页面运行成功登陆作战,否则,它返回到着陆的登录页面,当直接进入操作页面(登陆访问页面后的能力)如果不同意 ...

  3. springmvc中拦截器的定义和配置

    package com.hope.interceptor;import org.springframework.lang.Nullable;import org.springframework.web ...

  4. Dora.Interception,为.NET Core度身打造的AOP框架 [2]:以约定的方式定义拦截器

    上一篇<更加简练的编程体验>提供了最新版本的Dora.Interception代码的AOP编程体验,接下来我们会这AOP框架的编程模式进行详细介绍,本篇文章着重关注的是拦截器的定义.采用“ ...

  5. spring mvc <mvc:annotation-driven/> 自定义拦截器不走

    <mvc:annotation-driven/> 这个便签会注册2个自定义拦截器,所以导致请求过来就会自己去走注册的这2个拦截器和定义的一堆bean 但是这个便签是必须得定义的 直接贴代码 ...

  6. Struts2学习笔记(拦截器配置添加)

    一.拦截器工作原理: 根据Struts2的工作原理图,拦截器在action执行前进行顺序调用,之后执行Action并返回结果字符串,再逆序调用拦截器.(结构类似递归方式...)大部分时候,拦截器方法都 ...

  7. ASP.NET MVC案例——————拦截器

    摘要      本文将对“MVC公告发布系统”的发布公告功能添加日志功能和异常处理功能,借此来讨论ASP.NET MVC中拦截器的使用方法. 一个小难题      我们继续完善“MVC公告发布系统”, ...

  8. struts2 拦截器和actioninvocation、PreResultListener

       Interceptor说明 Interceptor的接口定义没有什么特别的地方,除了init和destory方法以外,intercept方法是实现整个拦截器机制的核心方法.而它所依赖的参数Act ...

  9. struts 拦截器 Interceptor

         拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用.正如上面 Struts2的Reference中讲述的,Stru ...

随机推荐

  1. Java 学习(17): Java 泛型

    Java 泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说将 ...

  2. iOS_04_数据类型、常量、变量

    一.数据 1.什么是数据 * 生活中时时刻刻都在跟数据打交道,比如体重数据.血压数据.股价数据等.在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据,图片数据,视频数据,还有聊天QQ产生的文 ...

  3. Java核心技术 卷Ⅰ 基础知识(4)

    第六章 接口与内部类 接口 特性 接口与抽象类 对象克隆 接口与回调 内部类 使用内部类访问对象状态 内部类的特殊语法规则 局部内部类 匿名内部类 静态内部类 代理 Class[] in=new Cl ...

  4. LVM 常用命令

    fdisk -l 查看硬盘信息 df -h查看文件系统使用量 fdisk /dev/sdb处理硬盘,删除分区,新建分区之类 partprobe将核心的 partition table 更新 mkfs ...

  5. C++ Tricks(一)—— 判断字符串 string 对象的所有字符都相等

    S == string(S.size(), S[0]);

  6. 9.7 Binder系统_c++实现_编写程序

    参考文件:frameworks\av\include\media\IMediaPlayerService.h (IMediaPlayerService,BnMediaPlayerService)fra ...

  7. PHP 分布式集群中session共享问题以及session有效期的设置

    https://blog.csdn.net/m_nanle_xiaobudiu/article/details/81177698

  8. Java Tread多线程(2)多线程安全问题

    作者 :卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39348093 本文演示,Tread多线程安全问题,以及几种解决多线程安全方式 ...

  9. QMap 的增删改查

    map 是一种数据容器,它提供一种由key 到 value 的映射.map 的key 是唯一的, 也是有序的.map 通常由近似平衡的红黑树来实现.key 的有序性,使得插入,查找节点比较有效.map ...

  10. js中json数据简单处理(JSON.parse()和js中嵌套html)

    js中json数据简单处理(JSON.parse()和js中嵌套html) 一.总结 1.html中嵌套js:<script>js代码</script> 2.js中嵌套html ...