1.Struts2.0拦截
拦截器:为访问Action的请求增加额外功能
保证程序的继续执行
2.如何开发一个拦截器
1.开发一个类 implements Interceptor
2.struts.xml配置文件
1 <!-- 声明拦截器 -->
<interceptors>
<interceptor name="MyInterceptor" class="zx.struts2.day3.interceptor.MyInterceptor"></interceptor>
</interceptors>
自定义了拦截器,Struts2.0提供的默认拦截器失效
2.在需要调用拦截器的action中配置
在Action中引用拦截器的顺序决定了拦截器的执行顺序
如果有多个拦截器是成组调用时,可以设置拦截器栈
1.写一个类MyInterceptor implements Interceptor接口
package com.jsu.struts2.interceptor;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class MyInterceptor implements Interceptor {
/**初始化资源*/
public void init() {
}
/*
* 拦截器的核心功能 @ActionInvocation
* 1.获得ActionContext:request,session,application...
* 2.保证程序的继续执行
* 3.获得用户访问的Action对象信息
* 4.获得值栈(valueStack)
*/
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("Interceptor start....");
// invocation.invoke()执行之前,都会在访问Action之前执行
String path = invocation.invoke();
// invocation.invoke()执行之后,都会在访问Action之后执行
System.out.println("Interceptor end....");
return path;
}
/* 释放资源 */
public void destroy() {
}
}
2.写一个Action MyAction extends ActionSupport
package com.jsu.struts2.action;
import com.opensymphony.xwork2.ActionSupport;
public class MyAction extends ActionSupport {
public String execute(){
System.out.println("execute Action");
return SUCCESS;
}
}
3.配置Struts.xml文件
自定义拦截器在package标签下面,action标签上面
<struts>
<package name="loginDemo" namespace="/" extends="struts-default">
<!-- 自定义拦截器 -->
<interceptors>
<interceptor name="MyInterceptor" class="com.jsu.struts2.interceptor.MyInterceptor"></interceptor>
</interceptors>
<!-- 配置拦截器 -->
<action name="my" class="com.jsu.struts2.action.MyAction">
<interceptor-ref name="MyInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result>/login.jsp</result>
</action>
</package>
</struts>
在login.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> </head>
<body>
<center>
<form action="my.action" method="post">
userName:<input type="text" name="username"/> <br>
passWord:<input type="text" name="pwd"/><br>
<input type="submit" value="Submit"/>
</form>
</center>
</body>
</html>
分享到:
相关推荐
`Struts2Day2_intercepter`指的是Struts2的核心特性之一——拦截器。拦截器是Struts2处理请求的一种机制,它们按照预定义的顺序执行,可以用于实现如日志记录、权限验证、事务管理等功能。通过自定义拦截器,开发者...
标题中的“传智168期JavaEE struts2杜宏 day 29~day31笔记”暗示了文档是一系列关于JavaEE技术栈中的Struts2框架的课程笔记,由杜宏教授,并且特别强调了是从29天到31天的学习内容。JavaEE(Java Platform, ...
2. **拦截器**:拦截器是Struts2的一大特色,它们按照预定义的顺序执行,可以实现如日志、权限验证、事务管理等功能。在`struts.xml`中,你可以配置拦截器栈,定义拦截器的执行顺序。 3. **Action执行**:经过拦截...
2. **核心组件**:Struts2的核心组件包括Action类、配置文件(struts.xml)、拦截器(Interceptors)和结果(Results)。Action类是处理用户请求的业务逻辑,配置文件定义了Action与URL的映射关系,拦截器可以对请求...
Day03可能涵盖Struts2的拦截器机制,这是Struts2的一大特色,可以实现如日志记录、权限验证、性能优化等多种功能。同时,可能会讲解如何自定义拦截器,以及在实际项目中如何组合使用不同的拦截器链。 Day04可能涉及...
3. **Interceptor(拦截器)**:拦截器是Struts2的一大特色,它允许开发者插入自定义的逻辑在Action执行前后,如日志、权限检查等,增强了框架的扩展性。 4. **Result**:Action执行后的结果,可以是视图的跳转,也...
- 拦截器是Struts2的一大特色,它在Action调用前后执行一系列预定义的逻辑,如日志记录、权限检查、数据验证等,增强了框架的可扩展性和灵活性。 4. **配置文件详解**: - `struts.xml`是Struts2的主要配置文件,...
Interceptor则是拦截器,可以在Action执行前后进行额外的操作,如日志记录、权限检查等。 搭建Struts2的开发环境,我们需要以下步骤: 1. **安装Java环境**:确保系统已安装Java JDK,并设置好环境变量。 2. **...
Struts 2 使用 XML 配置文件(通常命名为 `struts.xml` 或 `struts-default.xml`)来定义 Action、结果类型、拦截器栈等。配置文件可以指定 Action 的映射路径、接收的参数、执行的业务方法以及返回的结果视图。 **...
随着Java技术的发展和Web应用的需求变化,最初的Struts1设计开始暴露出一些限制,比如不支持拦截器等。而WebWork框架在设计上更为先进,引入了许多新的特性,如拦截器机制和OGNL表达式语言。为了克服这些限制并利用...
- **struts.xml**: 核心配置文件,用于定义Action、拦截器等。 - **struts.properties**: 配置Struts2的行为参数。 - **tiles.xml**: Tiles插件配置文件,用于管理页面布局。 #### 3. **Struts2标签库** Struts2...
day03可能讲解了Struts2的拦截器(Interceptor)。拦截器是Struts2的一大特色,它们允许你在请求处理前后执行自定义逻辑,如日志记录、权限验证等。你将学习如何编写自定义拦截器并将其加入到拦截器栈中。 day04...
### 一、Struts2框架中的自定义拦截器 #### 1.1 概念介绍 - **拦截器**是Struts2框架中的一个核心组件,用于对Action执行前后进行一系列操作,如权限验证、日志记录等。 - **自定义拦截器**则是开发者可以根据自己...
4. **Interceptor(拦截器)**:Struts2的核心特性之一,它们是预定义或自定义的逻辑组件,可以插在Action调用之前或之后执行。例如,`ParamsInterceptor`用于参数绑定,`ValidationInterceptor`负责表单验证。 5. ...
在"黑马Struts2视频(day3)"中,我们将会深入探讨Struts2的核心概念和关键特性。 首先,Struts2框架的出现是为了克服早期Struts1框架的一些局限性,比如性能问题、可扩展性不足以及对注解支持的缺乏。Struts2通过...
在"day04.txt"和"struts2_04、struts2_05"的文件中,可能包含了具体的案例分析和实践操作,比如创建Action类、编写配置文件、使用拦截器、处理表单提交等。通过这些实例,你可以更好地理解Struts2框架的使用方式,...
- `struts2_03`可能详细介绍了自定义拦截器的编写和使用。 6. **结果类型(Result Type)** - 结果类型决定了Action执行完后如何跳转到视图,如dispatcher(用于转发到JSP)、stream(用于下载文件)等。 - 结果...
2. **配置文件**:Struts2使用XML配置文件(struts.xml或struts.properties)来定义Action类、结果类型、拦截器链等。这些配置使得应用结构清晰,易于维护。 3. **拦截器(Interceptors)**:拦截器是Struts2的一大...
3. **Interceptor**:拦截器是Struts2的一个重要特性,它允许开发者在Action执行前后插入自定义的逻辑。拦截器可以用于日志记录、权限验证、数据校验等多种功能,增强了框架的灵活性。 4. **配置文件**:在Struts2...