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. 注解配置拦截器
注解分为类级别和方法级别
类级别:package,action,results,result
在使用注解前,必须在struts.xml中配置一个注解拦截器【因为在默认中没有】
<interceptor
name="annotationInterceptor"
class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkFlowInterceptor" />
在指定的action中引用这个拦截器。
在action中配置注解:
分享到:
相关推荐
Interceptor是Struts2中的重要特性,它允许在Action执行前后插入额外的处理逻辑,如登录验证、日志记录等。深入理解MVC思想对于优化Struts2应用至关重要,因为MVC分离了模型、视图和控制器,使得代码更易于管理和...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
在本篇“Struts2学习笔记十一”中,我们将深入探讨Struts2的核心拦截器及其应用。 **1. 拦截器的概念** 拦截器是AOP(面向切面编程)的一部分,在Struts2中,它们作为一系列可插入的处理链,可以在Action执行前后...
本学习笔记将深入探讨Struts2的核心概念、架构以及实际应用。 一、Struts2框架概述 1. 架构:Struts2基于Model-View-Controller(MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码的可读性和可维护...
【张冰Struts2学习笔记】0102_第一个Struts2实例 在Java Web开发领域,Struts2框架是十分重要的MVC(模型-视图-控制器)架构之一,它极大地简化了Web应用程序的开发流程。这篇学习笔记将带你入门Struts2,通过创建...
在本篇学习笔记中,我们将聚焦于环境搭建和创建第一个"Hello, World!"程序。 首先,要开始学习Struts2,你需要确保你的开发环境中已经安装了以下基本组件: 1. **Java Development Kit (JDK)**:Struts2依赖于Java...
在深入探讨Struts2的学习笔记之前,先来理解它的核心概念。 **1. Struts2依赖的JAR包** Struts2的运行离不开一系列的依赖库,包括: - `struts2-core-2.1.6.jar`:这是Struts2的核心库,包含了Struts2框架的主要...
在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...
在探讨Struts2的学习心得之前,我们先来分析一下Struts2与Struts1之间的区别。 ##### 1.1 架构设计 - **Struts1**:采用MVC(Model-View-Controller)架构模式,其中控制器是由`ActionServlet`来实现的,该控制器...
Struts2 学习笔记-part2: 实现用户登录功能 在上一部分中,我们了解了构建一个基于Struts2的Java Web项目所需的基本库和配置文件。现在,我们将逐步实现一个简单的用户登录功能。 一、创建Action类 在Struts2框架...
这个"struts2学习笔记.rar"文件很可能包含了关于Struts2框架的详细教程和实践案例,对于学习和理解Struts2的核心概念和技术是非常有帮助的。 首先,Struts2框架的引入是为了克服早期Struts1框架的一些局限性,提供...
这份"struts2学习笔记和源码"资源是学习这个框架的理想材料,特别适合初学者。 一、Struts2框架基础 Struts2是Apache软件基金会下的一个项目,它是Struts1的升级版,弥补了Struts1的一些不足,如动作映射和拦截器等...
### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...
总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为。此外,还需了解Action、Interceptor(拦截器)的概念,以及结果类型、异常处理、国际化支持等内容。熟练掌握...