Struts2自定义拦截器与优势详解
需积分: 0 139 浏览量
更新于2024-08-23
收藏 283KB PPT 举报
"自定义拦截器-struts的课件,主要介绍了如何在Struts2框架中实现自定义拦截器以及Struts2相较于Struts1的优势和特性。"
在Struts2框架中,拦截器(Interceptor)是其核心功能之一,它允许开发者在Action执行前后插入自定义逻辑,实现如权限验证、日志记录、性能监控等功能。要创建一个自定义拦截器,你需要实现`com.opensymphony.xwork2.interceptor.Interceptor`接口。下面将详细介绍自定义拦截器的实现过程以及Struts2的相关特性。
1. 自定义拦截器的实现
在提供的代码片段中,可以看到一个简单的自定义拦截器示例:
```java
public class PermissionInterceptor implements Interceptor {
// 实现接口的三个方法
public void destroy() {}
public void init() {}
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("进入拦截器");
if (session里存在用户) {
String result = invocation.invoke();
} else {
return "logon";
}
}
}
```
这个拦截器会在Action执行前检查session中是否存在用户信息。如果存在,则调用`ActionInvocation.invoke()`继续执行流程;如果不存在,则返回"login",引导用户登录。
2. Struts2的优势
Struts2是在WebWork2的基础上发展起来的,相比Struts1,它具有以下优势:
- **无侵入式设计**:Struts2的控制器不直接依赖Servlet API,降低了框架与应用的耦合度。
- **拦截器机制**:通过拦截器,开发者可以实现AOP编程,比如权限控制、事务管理等。
- **类型转换器**:Struts2内置了类型转换机制,自动将请求参数转换为Action属性的类型,无需手动注册转换器。
- **多视图技术支持**:Struts2支持JSP、FreeMarker、Velocity等多种视图技术,提供了更大的灵活性。
- **输入校验**:可以针对特定Action方法进行校验,提高代码的可维护性。
- **国际化资源管理**:提供了全局、包和Action级别的资源文件管理,方便进行国际化处理。
3. 搭建Struts2开发环境
搭建Struts2环境主要包括以下步骤:
- 获取必要的jar文件,通常从Apache官网下载Struts2的发行版。
- 编写Struts2配置文件,如struts.xml,定义Action、结果类型、拦截器栈等。
- 在`web.xml`中配置Struts2的前端控制器DispatcherServlet。
通过这些步骤,开发者就可以在Java Web项目中使用Struts2框架,利用其强大的功能和灵活的设计来构建应用程序。
2013-08-06 上传
2008-06-06 上传
2011-10-30 上传
点击了解资源详情
2009-03-30 上传
2011-07-15 上传
2011-03-13 上传
2010-05-13 上传
2008-04-19 上传
小婉青青
- 粉丝: 28
- 资源: 2万+
最新资源
- Apress.Pro.LINQ.Language.Integrated.Query.in.C#2008
- 阵列感应测井资料处理方法研究.pdf
- vb操作填空题答案看看就会
- 使用 ADOBE FLEX 3 开发 Adobe AIR 1.1 应用程序.pdf
- MFC教程课件,荣希学
- C++入门经典(3rd) .pdf
- JAVA基础。入门单词
- 数据结构课程设计 关于二叉树
- IDC机房方案,共四部分。
- cisco 4500 serial
- TCP-IP详解卷1 5.pdf
- TCP-IP详解 卷14.pdf
- EJB3.0实例教程
- OFDM-Based Broadband Wireless Networks:Design and Optimization
- C#实用书籍C# 语言规范
- 《TCP-IP详解卷1》