`
高成锋
  • 浏览: 51263 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

struts2学习笔记【十一】 / Interceptor(2)

阅读更多

1.5. 权限认证

一般情况下,在WEB-INF下的内容不登陆是不能被访问的,客户端跳转不能直接访问上述目录中的内容。

 public class VaildInterceptor extends AbstractInterceptor {

 

@Override

public String intercept(ActionInvocation invocation) 

throws Exception 

{

String result "";

Map session = ActionContext.getContext().getSession();

//也可以通过这样的方式进行session的初始化

//Map session =  invocation.getInvocationContext().getSession();

if(session.get("login") != null){

result = Action.SUCCESS;

}else{

 result = invocation.invoke();

}

return result;

}

}

在后面的配置文件中进行配置:

<action name="自定义">

//只能拦截单个页面,不能拦截整个目录

<result>/WEB-INF/admin/manager.jsp</result>

//在此处可以存放结果集,加interceptor或是引用interceptor栈,共用部分可以设为全局。

</action>

 

拦截器同过滤器各有前千秋,要灵活运用.

<filter>

   <filter-name>login</filter-name>

   <filter-class>

   com.sun.demo.LoginFilter

<!--

LoginFilter是实现过滤操作的类,其中可以实现一些列的业务逻辑

转码,判断,查询

权限管理,转向分发等

-->

   </filter-class>

</filter>

<filter-mapping>

   <filter-name>login</filter-name>

   <url-pattern>/admin/*</url-pattern>

<!--

可以对/admin目录下所有的内容进行过滤

-->

</filter-mapping>

 

 

 

1.6. 监听视图

public class TestPreResult implements PreResultListener {

 

public void beforeResult(ActionInvocation invocation, String str {

//编写各种自定义需要处理的业务逻辑

}

}

注意:这个监听不要再struts.xml中进行配置,但是需要同其他拦截器进行绑定:

invocation.addPreResultListener(new TestPreResult());

 

1.7. 注解配置拦截器

注解分为类级别和方法级别

类级别:packageactionresultsresult

 

在使用注解前,必须在struts.xml中配置一个注解拦截器【因为在默认中没有】

<interceptor 

name="annotationInterceptor" 

class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkFlowInterceptor" />

在指定的action中引用这个拦截器。

 

action中配置注解:

分享到:
评论

相关推荐

    node-v4.1.0-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于AT89S52的数字温度计设计说明.docx

    基于AT89S52的数字温度计设计说明.docx

    HTML+CSS+JS精品网页模板H108.rar

    HTML5+CSS+JS精品网页模板,设置导航条、轮翻效果,鼠标滑动效果,自动弹窗,点击事件、链接等功能;适用于大学生期末大作业或公司网页制作。响应式网页,可以根据不同的设备屏幕大小自动调整页面布局; 支持如Dreamweaver、HBuilder、Text 、Vscode 等任意html编辑软件进行编辑修改; 支持包括IE、Firefox、Chrome、Safari主流浏览器浏览; 下载文件解压缩,用Dreamweaver、HBuilder、Text 、Vscode 等任意html编辑软件打开,只需更改源代码中的文字和图片可直接使用。图片的命名和格式需要与原图片的名字和格式一致,其他的无需更改。如碰到HTML5+CSS+JS等专业技术问题,以及需要对应行业的模板等相关源码、模板、资料、教程等,随时联系博主咨询。 网页设计和制作、大学生网页课程设计、期末大作业、毕业设计、网页模板,网页成品源代码等,5000+套Web案例源码,主题涵盖各行各业,关注作者联系获取更多源码; 更多优质网页博文、网页模板移步查阅我的CSDN主页:angella.blog.csdn.net。

    node-v6.15.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    13-12.网络安全法.mp4

    13-12.网络安全法.mp4

    node-v6.9.1-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    52-52.渗透测试-什么是CSRF漏洞.mp4

    52-52.渗透测试-什么是CSRF漏洞.mp4

    文档_基于AT89S52的数字温度计.docx

    文档_基于AT89S52的数字温度计.docx

    基于springboot的医院门诊管理系统源码.zip

    基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip

    数据中台与数据治理服务方案qy.pptx

    数据中台与数据治理服务方案qy.pptx

    node-v5.6.0-linux-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于javaWeb实现的物资管理系统项目

    该物资管理系统项目是基于JavaWeb技术开发,旨在帮助组织或企业有效管理和跟踪各类物资的采购、入库、出库和库存情况。该系统涵盖了物资管理的各个环节,包括物资分类管理、物资信息录入、采购订单管理、入库管理、出库管理、库存盘点等功能。 项目的主要功能包括: 物资分类管理:管理员可以设置物资的分类信息,方便对物资进行归类和管理; 物资信息管理:包括物资名称、规格、数量、供应商信息等,管理员可以录入、编辑和删除物资信息; 采购订单管理:管理员可以创建和管理采购订单,跟踪订单状态和付款情况; 入库管理:记录物资的入库时间、数量和位置,确保物资信息准确无误; 出库管理:记录物资的出库时间、数量和领用人,方便追踪物资的流向和使用情况; 库存盘点:定期对库存进行盘点,确保库存数量与系统记录一致,及时发现并处理异常情况。 项目采用了MVC架构,使用Servlet作为控制器处理用户请求,页面展示采用JSP,数据交互通过JavaBean实现。数据库采用关系型数据库(如MySQL)存储物资信息、订单信息等数据。 系统还具有权限管理功能,不同用户拥有不同的权限,保障信息的安全性和可控性。同时

    64-64.渗透测试-PHP序列化与反序列化.mp4

    64-64.渗透测试-PHP序列化与反序列化.mp4

    tensorflow-gpu-2.2.2-cp38-cp38-win-amd64.whl

    resnet

    05-4.网络安全基础知识-木马

    05-4.网络安全基础知识-木马

    财商创富私域讲座,做抖音,做项目,做ip,提升财商必看-课程网盘链接提取码下载 .txt

    每一期的老师和内容都不一样,特别精彩,干货多多 课程目录 1.道与术如何突破!(参哥)mp4 2.如何把握创业节美感(参哥).mp4 3.什么是风口和时间线(参哥).mp4 4.如何拥有正确的思维逻辑方式(参哥)mp4 5.企业的理想状态应该是什么(参哥)mp4 6.我创业成功的核心是什么(参】.mp4 7.学员问答(参哥)mp4 8.我们是如何去做调研-学员问答下(参哥)mp4 9.我们这套模式是怎么来的(参哥).mp4 10.企业文化和分润结构(参哥).mp4 11.学员问答(参哥).mp4 12.私域实战操盘分享(赵赵)mp4 13.私域IP人设的打造(赵越)mp4 14.私域如何搭建和管理(赵赵).mp4 15.学员问答(越越).mp4 16.流量国队管理和落地分享(于聪颖).mp4 17.养成运营思维(于聪颖).mp4 18.如何进行绩效考核(于聪颖).mp4 19.如何进行有效复盘(于聪颖)mp4 20.老板的财税必修课-公司税法(上)(周明伟)mp4 21.老板的财税必修课-公司税法(下)(周明伟).mp4 22.实体店如何快

    Python-面向对象.xmind(思维导图)

    内容:面向对象 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 Python中万事万物皆对象,而面向对象的三大特性:封装、继承和多态。 常见的面向对象编程语言:Java / C++ / Python等等。 魔法函数: 3.1init()构造函数、__str__()、__call__()、__new__()

    node-v6.9.2-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    华为OD机试D卷 - 最长子字符串的长度(一)- 免费看解析和代码.html

    私信博主免费获取真题解析以及代码

    2024-2030中国非球面消费电子玻璃镜片模压机市场现状研究分析与发展前景预测报告.docx

    2024-2030中国非球面消费电子玻璃镜片模压机市场现状研究分析与发展前景预测报告

Global site tag (gtag.js) - Google Analytics