`
netxdiy
  • 浏览: 715085 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2拦截器详解实例

阅读更多
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="test" namespace="/" extends="struts-default">

<action name="input" class="com.bjsxt.action.InputAction">
<result>/input.jsp</result>

</action>

<action name="user" class="com.bjsxt.action.UserAction">
<result>/addOK.jsp</result>


<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="token"></interceptor-ref>
<result name="invalid.token">/error.jsp</result>
</action>

</package>
</struts>


input.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'test.jsp' starting page</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
 
  <body>
    <form action="user" method="post">
    name:<input name="name">
    age:<input name="age">
    <input type="submit" value="add">
    <s:token></s:token>
    </form><br>
  </body>
</html>



InputAction.java

package com.bjsxt.action;

import com.opensymphony.xwork2.ActionSupport;

public class InputAction extends ActionSupport {



@Override
public String execute() throws Exception {

return super.execute();
}
}




UserAction.java
package com.bjsxt.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {

private String name;
private int age;

@Override
public String execute() throws Exception {
System.out.println("a user added!");
return super.execute();
}



public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

}



addOK.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'test.jsp' starting page</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
 
  <body>
    addOK <br>
  </body>
</html>



error.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'test.jsp' starting page</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
 
  <body>
    严禁做重复的事! <br>
  </body>
</html>
分享到:
评论

相关推荐

    详解Struts2拦截器

    ### Struts2拦截器详解 #### 一、Struts2拦截器概述 Struts2框架作为Java Web开发中的一种流行框架,其核心组件之一便是**拦截器**。拦截器不仅在Struts2中扮演着重要角色,更是整个框架灵活性与扩展性的基石。...

    Struts2拦截器及其用法详细说明

    在Struts2中,拦截器(Interceptors)扮演着核心角色,增强了框架的功能和灵活性。这篇文章将深入探讨Struts2拦截器的概念、工作原理以及如何在实际应用中使用它们。 **一、什么是Struts2拦截器** 拦截器是基于AOP...

    struts2拦截器详解 带demo

    Struts2 拦截器详解 Struts2 框架中的拦截器(Interceptor)是一种强大的机制,它允许开发者在Action执行前后插入自定义的行为,增强了应用的灵活性和可扩展性。拦截器是基于Java的动态AOP(面向切面编程)实现,...

    Struts2拦截器实例.docx

    ### Struts2拦截器实例——登录校验 #### 概述 在Web应用开发中,登录验证是一项重要的功能。为了确保只有已登录的用户才能访问特定的资源或页面,通常会采用拦截器来实现这一需求。本文档将详细介绍如何在Struts2...

    Struts2的拦截器的使用详解

    本文将深入探讨Struts2的拦截器使用,结合实例和源码分析,帮助你更好地理解和运用这一特性。 一、拦截器的概念与作用 拦截器是Struts2框架的核心组件之一,它是在动作执行前后插入的一段代码,能够对请求进行...

    详解Struts2拦截器机制

    Struts2拦截器机制详解 Struts2拦截器机制是Struts2框架的核心组件之一,它主要负责拦截和处理Action请求。拦截器机制的作用是相当大的,在Struts2中几乎70%的工作都是由拦截器完成的。拦截器机制可以实现各种功能...

    struts2拦截器

    ### Struts2拦截器详解 #### 一、拦截器的概念与意义 拦截器(Interceptor)在Struts2框架中扮演着至关重要的角色。它的工作原理类似于过滤器(Filter),能够拦截用户请求,并对其进行预处理或者后处理。拦截器...

    struts2 Interceptor拦截器

    ### Struts2 Interceptor 拦截器详解 #### 一、概述 在现代Web开发中,特别是基于Java的Web应用程序开发中,Struts2框架因其简洁性和强大的扩展能力而备受青睐。Struts2框架的核心设计理念之一是MVC(Model-View-...

    一个Struts2的核心拦截器例子

    5. **核心拦截器详解**: - `params`:处理请求参数,将请求参数绑定到Action的属性上。 - `i18n`:处理国际化,根据用户浏览器设置的语言加载资源文件。 - `exception`:处理Action执行过程中的异常。 - `...

    struts2入门实例教程详解

    Struts2基于WebWork,这意味着它引入了拦截器、结果类型等概念,提供更灵活的控制流。 #### 三、创建Struts2项目 按照Struts1.x的程序开发步骤,我们可以逐一对应到Struts2中: 1. **安装Struts2:** - 不同于...

    struts2 Interceptor详解

    开发者可以通过实现`org.apache.struts2.interceptor.Interceptor`接口或继承`org.apache.struts2.interceptor.StrutsInterceptor`抽象类来自定义拦截器。在自定义拦截器时,需要重写`intercept()`方法,实现自己的...

    struts2框架详解

    - 拦截器是Struts2的一大特色,它们按照预定义的顺序组成栈,每个请求都会经过这些拦截器。 - 常见的拦截器有:`Params`(处理请求参数),`Validation`(表单验证),`StackTrace`(异常堆栈跟踪)等。 6. **...

    Struts2配置详解

    Struts2的核心配置文件主要负责定义应用的行为逻辑,包括但不限于Action的映射、拦截器的配置以及结果类型的定义等。例如,在示例代码中可以看到`&lt;struts&gt;`标签下的内容: ```xml &lt;struts&gt; &lt;!-- 配置项 --&gt; &lt;/...

    Struts1与Struts2原理 区别详解汇总

    2. **Action对象**:Struts1中的Action直接与Servlet API耦合,而Struts2中的Action通过拦截器与业务逻辑分离。 3. **配置方式**:Struts1使用`struts-config.xml`文件进行配置,而Struts2主要通过`struts.xml`...

    Struts2内置拦截器简介

    #### 二、内置拦截器详解 1. **Auto-Wiring (自动装配)** - **简介**:此拦截器用于自动装配Struts2与Spring集成时所需的Bean。当Struts2与Spring框架集成时,可以通过该拦截器实现依赖注入,从而避免手动配置...

    struts2常量详解

    1. **struts-default.xml**:这是Struts2核心库中的默认配置,包含了一些基础的拦截器和全局结果等配置。 2. **struts-plugin.xml**:每个Struts2插件都会包含这样一个文件,用于定义插件特有的配置。 3. **struts...

    Struts 2 技术详解:基于WebWork核心的MVC开发与实践

    Struts 2 的核心技术基础是WebWork,它在Struts 1的基础上进行了许多改进,如更强大的表达式语言(OGNL)、拦截器机制、更简单的配置等。WebWork的这些特性被集成到Struts 2中,使得Struts 2成为了一个高效且易用的...

    Struts2拦截器Interceptor的原理与配置实例详解

    Struts2是一个流行的Java web框架,它引入了拦截器(Interceptor)的概念,这是一种基于AOP(面向切面编程)的设计模式,用于在Action执行前后插入额外的处理逻辑。拦截器的使用大大增强了代码的可维护性和可扩展性...

Global site tag (gtag.js) - Google Analytics