针对框架中使用拦截器的功能的具体描述
Struts2发布了,这个版本较struts1.x版本有了很大变化,其中一个就是增加了拦截器功能。这是个非常有用的功能,可是struts1.x却没有。
其实,struts1.x可以配合插件,实现拦截器的功能。
SAIF(Struts Action Invocation Framework)是一个开源组件,它让Struts框架具备Action拦截器与IOC的功能,这样你的1.x框架也就有了拦截器的功能。
1.将saif.jar包放入你的lib中。
2.创建Interceptor类。比如我在这里创建一个类:
package interceptor;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import net.sf.struts.saif.ActionHaveForwardInterceptor;
public class DisplayInterceptor implements ActionHaveForwardInterceptor ...{
public ActionForward afterAction(Action arg0, ActionMapping arg1,
ActionForm arg2, HttpServletRequest arg3, HttpServletResponse arg4)
throws IOException, ServletException ...{
// TODO Auto-generated method stub
return null;
}
public ActionForward beforeAction(Action action, ActionMapping mapping,
ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException ...{
// TODO Auto-generated method stub
System.out.println("Inteceptor...");
if (!"fred".equals(request.getParameter("user_name"))) ...{
return mapping.findForward("noPermission");
}
return null;
}
}
3.写interceptor配置文件:interceptor-config.xml。这个配置文件中指定了interceptor类和要被拦截的action
<?xml version="1.0" encoding="UTF-8"?>
<interceptor-config>
<interceptor name="displayInterceptor" type="interceptor.DisplayInterceptor"/>
<action type="/display">
<interceptor name="displayInterceptor"/>
</action>
</interceptor-config>
4.在struts-config.xml中指定加载interceptor-config.xml
<plug-in className="net.sf.struts.saif.SAIFSpringPlugin">
<set-property property="interceptor-config" value="/WEB-INF/interceptor-config.xml" />
</plug-in>
ok,配置完后,启动服务器,然后输入.../display.do?user_name=fred,回车,这时候,这个请求就会被拦截来,
进入beforeAction中,进行验证,若验证成功,return null,就会转到action的forward指向的页面,若不成功,
就会转向另一个页面。
分享到:
相关推荐
本篇文章将深入探讨如何在Spring MVC中使用Interceptor拦截器。 首先,Interceptor的实现需要继承自`HandlerInterceptor`接口或者实现`HandlerInterceptorAdapter`适配器类,这两个类都包含三个核心方法: 1. `...
在Struts2框架中,**Interceptor(拦截器)**是一个关键组件,它允许开发者在特定的动作(Action)执行前后添加自定义的处理逻辑,极大地增强了应用程序的灵活性。 #### 二、Interceptor 概念与作用 Interceptor ...
在Struts2框架中,拦截器(Interceptor)是一种非常重要的机制,它能够帮助开发者实现诸如权限控制、事务管理、日志记录等跨切关注点的功能。通过定义不同的拦截器栈,可以灵活地组合各种功能,从而达到复用代码的...
在Java Web开发中,拦截器(Interceptor)是一种重要的设计模式,它主要用于在请求处理之前、之后或处理过程中执行一些预定义的任务。拦截器通常被应用于MVC(Model-View-Controller)框架,如Spring MVC,Struts等...
在登录拦截器中,我们可以检查session中的登录信息,如果没有找到,就抛出异常或者返回一个表示未登录的结果代码。 ```java public class LoginInterceptor implements Interceptor { @Override public String ...
Struts2自定义拦截器的配置是Struts2框架中一个非常重要的功能,它允许开发者在Action执行前后插入自定义的逻辑,以实现如权限验证、日志记录、性能监控等多种需求。以下是对标题和描述中涉及的知识点的详细说明: ...
在Java Web开发中,拦截器(Interceptor)是一个重要的概念,特别是在使用MVC框架如Struts2时。拦截器可以理解为一种预处理和后处理机制,它在请求到达控制器之前和离开控制器之后进行操作,例如日志记录、权限检查...
- **SpringBoot中的拦截器**:SpringBoot使用Spring MVC的Interceptor来实现请求拦截,它可以对请求进行预处理和后处理,比如权限验证、日志记录等。 - **配置拦截器**:在`WebMvcConfigurer`的实现类中,通过`...
在uni-app中,我们可以使用`uni.$http`提供的拦截器功能,它包含两个部分:请求拦截器(request interceptor)和响应拦截器(response interceptor)。请求拦截器主要在请求发送前执行,而响应拦截器则在接收到...
例如,如果在拦截器中检测到用户未登录,可以不调用`invoke()`,直接返回错误结果。 此外,为了使拦截器生效,需要在Struts配置文件(struts.xml)中声明并将其添加到拦截器栈中。例如: ```xml <interceptor ...
在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,用于在请求被控制器处理之前或之后执行特定的逻辑。它们可以用来实现通用的功能,如权限验证、日志记录、性能统计等,避免在每个控制器方法中重复编写...
拦截器允许开发者在请求和响应的消息传递过程中插入自定义逻辑,从而在不影响核心框架的情况下,实现诸如日志记录、消息格式转换、安全性检查等复杂功能。 ### 一、基本原理 拦截器的基本工作原理可以类比于管道...
标题中的“spring配置JSON拦截器VIEW”指的是在Spring框架中设置JSON数据的处理方式,特别是通过拦截器(Interceptor)来优化视图层(View)的响应。在Web开发中,拦截器是一种常用的机制,用于在请求被实际处理之前...
在Web开发框架如Struts 2中,拦截器扮演着关键的角色,它们可以实现日志记录、事务管理、权限检查等多种功能。 1. **拦截器的工作原理** 拦截器通常基于代理模式工作。当一个请求到达应用程序时,框架会根据配置...
下面我们将详细介绍如何通过Mybatis拦截器实现这一功能。 首先,了解Mybatis拦截器的基本概念。Mybatis拦截器(Interceptor)是一种插件机制,它允许我们在Mybatis执行SQL语句之前或之后进行自定义操作,比如统计...
在本文中,我们将详细介绍如何在SSM项目中实现登录拦截器,并配置其在SpringMVC框架中的使用。 拦截器的概念 在SpringMVC框架中,拦截器是一种特殊的组件,用于在控制器方法调用前后执行某些操作。拦截器可以用来...
在SpringMVC框架中,Interceptor拦截器扮演着关键的角色,它可以拦截用户发起的HTTP请求,进行额外的处理,如权限验证、日志记录、性能监控等。Interceptor是基于AOP(面向切面编程)思想实现的,使得我们可以在不...
在Struts2中,拦截器(Interceptor)扮演着核心角色,它们允许开发者在Action执行前后插入自定义的逻辑,如日志、权限检查、事务管理等。现在我们将深入探讨Struts2的拦截器机制及其实例应用。 ### 一、Struts2拦截...