- 浏览: 541336 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (233)
- 设计模式 (1)
- WEBLOGIC (2)
- spring (2)
- struts (1)
- hibernate (8)
- SOA (11)
- j2ee (0)
- corba (0)
- linux (2)
- oracle (0)
- webService (17)
- javaMail (1)
- junit (3)
- java (45)
- 正则表达式 (7)
- java+xml (4)
- html (2)
- javaScript (6)
- ajax (1)
- mysql (0)
- eclipse (2)
- eclipse插件开发 (3)
- 软件工程 (5)
- ant (6)
- 开源包 (6)
- 学习网站 (7)
- Struts2 (18)
- JSP (1)
- 持续集成 (4)
- FreeMaker (6)
- 工作项目点点 (4)
- Maven2 (6)
- JQuery (1)
- 日志记录 (9)
- 工作流 (4)
- BPEL (1)
- extJs (1)
- 组件 (1)
- OSGI (10)
- ESB总线学习 (1)
- 错误解决 (2)
- JMX (3)
- 网络知识 (1)
最新评论
-
duanlongk:
这个问题解决了么?
java.lang.NoClassDefFoundError: org/apache/tuscany -
sotrip:
从上面结果来看,HelloWorld.class是由虚拟机的内 ...
如何实现自己的classloader -
zengsir2008:
哎,不太明白。。。。
OSGI DS 实例 -
ralfsumahe:
...
使用XFire开发Web Service客户端完整入门教程 -
liuqiao_0702:
...
osgi spring hibernate =
1.LoginAction.java
package lee;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute()throws Exception{
System.out.println("进入execute方法体.........");
Thread.sleep(1500);
if(this.getUsername().equals("scott")&&this.getPassword().equals("tiger")){
return SUCCESS;
}else{
return ERROR;
}
}
}
2.SimpleInterceptor.java
package lee;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import java.util.*;
public class SimpleInterceptor extends AbstractInterceptor {
private String name;
public void setName(String name){
this.name=name;
}
public String intercept(ActionInvocation invocation) throws Exception {
LoginAction action=(LoginAction)invocation.getAction();
System.out.println(name+"拦截器的动作-----"+"开始执行登录Action的时间为:"+new Date());
long start=System.currentTimeMillis();
String result=invocation.invoke();
System.out.println(name+"拦截器的动作-----"+"执行完登录Action的时间为:"+new Date());
long end=System.currentTimeMillis();
System.out.println(name+"拦截器的动作-----"+"执行完该Action的事件为"+(end-start)+"毫秒");
return result;
}
}
3.struts.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.custom.i18n.resources" value="globalMessages"></constant>
<constant name="struts.i18n.encoding" value="GBK"></constant>
<package name="lee" extends="struts-default">
<interceptors>
<interceptor name="mysimple" class="lee.SimpleInterceptor">
<param name="name">简单拦截器</param>
</interceptor>
</interceptors>
<action name="login" class="lee.LoginAction">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
<!-- 拦截器一般配置在result元素之后! -->
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="mysimple">
<param name="name">改名后的拦截器</param>
</interceptor-ref>
</action>
</package>
</struts>
4.login.jsp
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="login.action" method="post">
<table align="center">
<caption><h3>用户登录</h3></caption>
<tr>
<td>用户名:<input type="text" name="username"/></td>
</tr>
<tr>
<td>密 码:<input type="text" name="password"/></td>
</tr>
<tr align="center">
<td><input type="submit" value="登录"/><input type="reset" value="重填" /></td>
</tr>
</table>
</form>
</body>
</html>
4. error.jsp
<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>错误页面</title>
</head>
<body>
您不能登录!
</body>
</html>
5.welcome.jsp
<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>成功页面</title>
</head>
<body>
您已经登录!
</body>
</html>
发表评论
-
Struts2中获取HttpServletRequest,HttpSession
2009-03-13 13:42 3560在没有使用Struts2之前,都习惯使用HttpServlet ... -
文件上传的原理:
2008-11-07 10:24 3343文件上传的原理: 表单元素的enctype属性指定的是表单 ... -
struts拦截器的使用
2008-11-07 10:13 1248http://www.java3z.com/cwbwebhom ... -
struts2与Servlet耦合
2008-11-07 10:07 1509============================= ... -
struts2中的struts.properties
2008-11-07 10:05 935struts.action.extension ... -
ActionContext和ServletActionContext区别
2008-11-07 10:03 5255ActionContextxwork框架的ActionCon ... -
struts2中的OGNL
2008-11-07 10:01 1029本人是一个EL(Expression Language,以下译 ... -
struts2简介
2008-11-07 09:43 1028• Struts 2 Action类可以实 ... -
用类代替资源文件
2008-11-01 15:13 9911 Hello.java package local;imp ... -
java国际化
2008-11-01 14:40 1116package local;import java.util. ... -
struts 主要配置文件摘要
2008-10-31 18:08 1159struts.properties 放在src下 ... -
动态代理proxy
2008-10-28 14:36 8841.Dog.java package com.proxy ... -
struts2 下载
2008-10-28 11:21 944本实例下载.详见附件 -
Struts2实现文件上传多个实例...
2008-10-28 10:33 18701.UploadAction.java package ... -
struts2代码实现过滤
2008-10-28 09:33 17351.UploadAction.java package l ... -
struts2自动实现过滤
2008-10-27 17:35 1155只需在struts.xml 改写为: <?xml v ... -
Struts2实现文件上传实例...
2008-10-27 17:19 56271.UploadAction.java package l ...
相关推荐
这个"struts2拦截器应用小例子"可能包含了一个简单的拦截器实现,展示了如何在实际项目中集成和使用。通过这个例子,你可以学习到如何创建、注册拦截器,以及如何在Struts2框架中构建拦截器栈,从而更灵活地管理应用...
在这个“Struts2拦截器实现权限控制demo”中,我们将深入探讨如何利用拦截器来实现细粒度的用户权限管理。 首先,我们需要了解Struts2中的拦截器工作原理。拦截器是基于Java的动态代理模式实现的,它们按照配置的...
本文将深入探讨如何利用Struts2的拦截器实现简单的登录功能。拦截器是Struts2框架的核心组件之一,它允许我们在动作执行前后插入自定义逻辑,比如权限验证、日志记录等。 首先,我们来理解一下Struts2拦截器的工作...
Struts2是一个强大的MVC框架,它通过使用拦截器(Interceptor)来实现业务逻辑与表现层的解耦,提供了一种灵活的扩展机制。在Struts2中,拦截器是AOP(面向切面编程)的一种实现,它可以监控、修改或增强方法调用的...
在Struts2中,拦截器(Interceptor)是实现业务逻辑控制和增强功能的重要机制,而国际化(Internationalization,简称i18n)则能帮助我们构建支持多语言的Web应用。下面将详细解释这两个知识点以及它们如何在Struts2...
Struts2 拦截器是Struts2框架的核心组件之一,它允许开发者在Action执行前后插入自定义的处理逻辑,实现对请求的预处理和后处理,从而增强应用程序的功能和控制流程。以下是对Struts2拦截器原理与实现的详细解析: ...
在Struts2中,ActionInvocation接口代表了Action的执行过程,它可以被视为一个简单的调用栈,每个拦截器都是栈上的一个元素。当调用`invoke()`方法时,会按顺序执行这些拦截器,直到到达Action。这个设计模式与Java...
2. **注册拦截器**:在`struts-config.xml`配置文件中,通过`<interceptors>`标签定义拦截器栈,然后通过`<action>`标签的`interceptor-ref`属性引用拦截器栈。 3. **配置拦截器栈**:在`struts-config.xml`中,...
Struts2拦截器是Struts2框架中的一个重要组件,它提供了一种机制允许开发者在Action调用前后插入自定义的行为,甚至能够阻止Action的执行。这种机制在很多企业级Java项目中有着广泛的应用,例如进行数据转换、校验、...
### Struts2拦截器原理与实战案例解析 #### 一、Struts2拦截器概述 Struts2框架作为Java Web开发中的重要工具之一,其核心优势在于强大的MVC架构支持和丰富的扩展性。其中,拦截器(Interceptor)是Struts2框架的...
Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的 拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器 三、定义Struts2拦截器。 ...
2. **拦截器栈**:多个拦截器的集合称为拦截器栈,Struts2默认提供了几个内置的拦截器栈,如`defaultStack`、`jsonStack`等,也可以自定义拦截器栈。 3. **拦截器配置**:拦截器可以通过Struts2的配置文件`struts....
本文将深入探讨Struts2拦截器的原理,并通过一个简单的实例来帮助你理解其工作方式。 首先,让我们理解什么是拦截器。在软件设计模式中,拦截器是一种“链式处理”模式,它允许在动作执行前后插入自定义逻辑。在...
在Struts2中,创建一个拦截器非常简单,只需要实现`Interceptor`接口或者继承`AbstractInterceptor`抽象类。通常,我们会选择继承`AbstractInterceptor`,因为它提供了一些基本的方法和属性。然后在`intercept()`...
Struts2 拦截器是基于 Java 的开源框架 Apache Struts 2 中的一个核心功能,它允许开发者在请求处理之前、之后或者整个过程中插入自定义的逻辑。拦截器是 Struts2 框架中实现业务逻辑控制、权限验证、日志记录等功能...
Struts2 拦截器是Struts2框架的核心组件之一,它们允许开发者在Action执行前后插入自定义逻辑,实现跨切面的功能。拦截器基于Java的动态代理机制,能够独立于Action和Struts2框架进行扩展和复用。下面我们将深入探讨...
Struts拦截器是Java Web开发中的重要概念,尤其在基于Struts 2框架的应用中扮演着核心角色。这个"struts拦截器的例子"提供了一个学习和理解拦截器工作原理的起点,非常适合对这一主题感兴趣的初学者。 Struts 2框架...
在Struts2框架中,拦截器扮演着非常重要的角色,它们是实现业务逻辑、数据验证和增强功能的核心组件。下面将详细介绍Struts2拦截器的概念、配置、工作原理以及实际应用。 **一、Struts2拦截器概念** 在Struts2框架...
在Struts2中,拦截器(Interceptor)是核心功能之一,它扮演着处理请求、增强功能和控制流程的重要角色。本例子主要探讨了如何使用Struts2拦截器实现登录拦截,确保用户在没有正确登录的情况下无法访问受保护的页面...