`
高成锋
  • 浏览: 53134 次
  • 性别: 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中配置注解:

分享到:
评论

相关推荐

    struts2学习笔记(完美总结)——转自OPEN经验库

    Interceptor是Struts2中的重要特性,它允许在Action执行前后插入额外的处理逻辑,如登录验证、日志记录等。深入理解MVC思想对于优化Struts2应用至关重要,因为MVC分离了模型、视图和控制器,使得代码更易于管理和...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    struts2学习笔记十一(第11讲.Struts2的核心 拦截器续)

    在本篇“Struts2学习笔记十一”中,我们将深入探讨Struts2的核心拦截器及其应用。 **1. 拦截器的概念** 拦截器是AOP(面向切面编程)的一部分,在Struts2中,它们作为一系列可插入的处理链,可以在Action执行前后...

    Struts2学习笔记

    本学习笔记将深入探讨Struts2的核心概念、架构以及实际应用。 一、Struts2框架概述 1. 架构:Struts2基于Model-View-Controller(MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码的可读性和可维护...

    【张冰Struts2学习笔记】0102_第一个Struts2实例

    【张冰Struts2学习笔记】0102_第一个Struts2实例 在Java Web开发领域,Struts2框架是十分重要的MVC(模型-视图-控制器)架构之一,它极大地简化了Web应用程序的开发流程。这篇学习笔记将带你入门Struts2,通过创建...

    Struts2学习笔记(一) 环境的搭建与HelloWorld程序

    在本篇学习笔记中,我们将聚焦于环境搭建和创建第一个"Hello, World!"程序。 首先,要开始学习Struts2,你需要确保你的开发环境中已经安装了以下基本组件: 1. **Java Development Kit (JDK)**:Struts2依赖于Java...

    struts2学习笔记

    在深入探讨Struts2的学习笔记之前,先来理解它的核心概念。 **1. Struts2依赖的JAR包** Struts2的运行离不开一系列的依赖库,包括: - `struts2-core-2.1.6.jar`:这是Struts2的核心库,包含了Struts2框架的主要...

    struts 2 学习笔记

    在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...

    Struts2学习笔记与心得

    在探讨Struts2的学习心得之前,我们先来分析一下Struts2与Struts1之间的区别。 ##### 1.1 架构设计 - **Struts1**:采用MVC(Model-View-Controller)架构模式,其中控制器是由`ActionServlet`来实现的,该控制器...

    struts学习笔记

    Struts2 学习笔记-part2: 实现用户登录功能 在上一部分中,我们了解了构建一个基于Struts2的Java Web项目所需的基本库和配置文件。现在,我们将逐步实现一个简单的用户登录功能。 一、创建Action类 在Struts2框架...

    struts2学习笔记.rar

    这个"struts2学习笔记.rar"文件很可能包含了关于Struts2框架的详细教程和实践案例,对于学习和理解Struts2的核心概念和技术是非常有帮助的。 首先,Struts2框架的引入是为了克服早期Struts1框架的一些局限性,提供...

    struts2学习笔记和源码

    这份"struts2学习笔记和源码"资源是学习这个框架的理想材料,特别适合初学者。 一、Struts2框架基础 Struts2是Apache软件基金会下的一个项目,它是Struts1的升级版,弥补了Struts1的一些不足,如动作映射和拦截器等...

    传智播客struts2全程学习笔记

    ### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...

    struts2详细学习笔记

    总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为。此外,还需了解Action、Interceptor(拦截器)的概念,以及结果类型、异常处理、国际化支持等内容。熟练掌握...

Global site tag (gtag.js) - Google Analytics