- 浏览: 351679 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (160)
- webservice (2)
- 数据库开发 (9)
- LINUX (6)
- 团队协作 (5)
- 前端技术 (4)
- J2EE (31)
- web服务器 (9)
- 经验常识 (12)
- 开发工具 (17)
- 项目管理 (7)
- 重构与设计模式 (8)
- 安全技术 (1)
- 并发编程 (1)
- 移动互联网 (2)
- 编码风格 (1)
- 领域建模 (1)
- 随想杂记 (12)
- 翻译 (2)
- 问题排查 (2)
- 数据挖掘 (4)
- 软件架构 (1)
- java语言基础知识 (13)
- 文件读写 (1)
- mac研发笔记 (1)
- 网络问题 (1)
- python学习 (0)
- Java8新特性 (1)
- soft kes collections (1)
最新评论
-
cremains:
...
java8新特性学习笔记 -
bingyingao:
guooo 写道很好的总结,不知能否转载?可以,多谢关注
又四年了,再看如何快速融入一个新团队 -
guooo:
很好的总结,不知能否转载?
又四年了,再看如何快速融入一个新团队 -
omeweb:
又过了好几年了,有啥新感悟没有?
两年已过去,再看该如何快速融入新团队 -
kely39:
感谢楼主,问题已解决
包冲突问题的解决方法
实现一个拦截器并调用。
============下面是LoginIntercepter.java代码===============
============下面是LoginIntercepter.java代码===============
============login.jsp中代码=================
==================action中得代码=======================
这样便实现了一个简单的登录验证拦截器
============下面是LoginIntercepter.java代码===============
package com; import java.util.Map; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class LoginIntercepter extends AbstractInterceptor { /** * 常见问题:进过拦截器后,action里面取不到表单的值了。 * 是因为xml中没有引入默认的defaultStack * */ public String intercept(ActionInvocation arg0) throws Exception { System.out.println("进入拦截器:LoginIntercepter"); String requestUrl=ServletActionContext.getRequest().getRequestURI(); System.out.println("url:"+requestUrl); Map session = arg0.getInvocationContext().getSession(); String loginId = (String) session.get("loginId"); if (!(requestUrl.contains("!doLogin")||loginId!=null)) { //未登录,返回重新登录 return "login"; } return arg0.invoke(); } }
============下面是LoginIntercepter.java代码===============
<package name="abc" extends="struts-default"> <!--自己写一个拦截器demo --> <interceptors> <interceptor name="loginCheck" class="com.LoginIntercepter"></interceptor> </interceptors> <global-results> <result name="success">/success.jsp</result> </global-results> <!-- 标签测试类 --> <action name="tagTest" class="com.StrutsTagTestAction"> <result name="login">/login.jsp</result> <interceptor-ref name="loginCheck" /><!--配置登录验证拦截器--> <interceptor-ref name="defaultStack" /><!--如果自己加入了其他拦截器,则必须手动添加此拦截器,否则在action中会取不到表单的值--> </action> </package> </struts>
============login.jsp中代码=================
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body > <form action="tagTest!doLogin.action" method="post"> <!-- 文本框,密码框的使用 --> userName:<input type="text" name="userName"><br/> passWord:<input type="password" name="passWord" /><br/> <input type="submit"e value="login"> <form> </body> </html>
==================action中得代码=======================
public String doLogin() { HttpServletRequest requst=ServletActionContext.getRequest(); requst.getSession().setAttribute("loginId","abing"); String content=requst.getParameter("content"); System.out.println("userName:" + userName + "\tpassWord:" + passWord); return SUCCESS; }
这样便实现了一个简单的登录验证拦截器
发表评论
-
log4j关键点
2013-09-25 19:43 1055日志级别 级别顺序(低到高): DEBUG < INFO ... -
java集合排序
2013-09-24 19:18 1114java对象集合排序在开发中使用非常广泛,需要重点理解,而它实 ... -
关于java.lang.OutOfMemoryError的参数配置误区
2013-09-10 15:10 1119这两天在本机用eclipse的jetty插件跑项目,老是抛出一 ... -
spring这样的来配置一些常量很方便
2013-09-03 09:48 2493<util:list id="haidilao ... -
快速查找线程死锁(展苍)
2012-12-23 13:25 0Thread dump Thread dump是比较容易查找 ... -
javap查看虚拟机为你做了什么
2012-12-02 15:38 555public class Test { publi ... -
javaweb开发乱码问题整理
2012-03-15 14:01 994j2ee方面的开发总会遇到各种各样的乱码问题,总想抽空整理一下 ... -
用正则表达式扣出字符串中指定的多处内容
2011-12-26 15:29 1447截取打印出所有<record></recor ... -
java反射机制学习
2011-11-19 13:01 1035反射基本概念: 在java ... -
java匿名内部类使用场景列举
2011-11-18 10:57 2608java内部类是怎么一回事?匿名内部类何时会用到,之前一直很模 ... -
使用UUID生成32位ID
2011-11-14 11:11 21319UUID(Universally Unique Identif ... -
java数据类型介绍
2011-11-09 14:34 951java数据类型介绍 简单类型大小范围/精度 ... -
Exception点滴
2011-11-08 14:24 942java.lang.reflect.UndeclaredThr ... -
将set集合转为list并对对象进行排序
2011-11-06 15:09 7736之前用hibernate的时候,遇到一对多的表结构。比如班级( ... -
src地址为空导致两次进入到action请求地址
2011-10-29 13:05 1526今天用struts开发一个页面,奇怪的是我点了一次提交,达到目 ... -
struts标签与ognl表达式用法点滴
2011-10-27 18:43 1401struts标签的使用中,会涉及一些比较细的点儿,汇总一下,以 ... -
struts2第四回:工作流程解析
2011-10-14 15:18 871这两天没什么任务,就想研究一下struts2的源码,看了半天, ... -
struts2第二回:防止重复提交
2011-10-13 18:51 2261基本原理:用户访问做了重复提交的页面,服务器会生成一个令牌,这 ... -
include与jsp:include与s:action与s:include与iframe用法汇总
2011-10-13 13:47 207091.<%@ include file="../ ... -
struts2第一回:validate框架使用
2011-10-12 16:42 5032struts2总结 ...
相关推荐
开发者可以自定义拦截器以满足特定需求。 5. **Action执行**:执行完所有预设的拦截器后,Struts2会调用Action中的方法,处理实际的业务逻辑。 6. **Result返回**:Action执行完毕后,会返回一个结果(Result)。...
我们可以自定义拦截器类,通常会继承`AbstractInterceptor`抽象类以简化实现。例如,我们可以创建一个名为`CustomInterceptor`的拦截器类,实现`intercept`方法,该方法在Action执行前后被调用。 ```java public ...
在Struts2中,拦截器扮演着非常重要的角色,它允许开发者在动作执行前后插入自定义逻辑,如验证、日志、事务管理等。本话题主要探讨如何利用拦截器实现在用户成功登录后,将其重定向到登录前访问的页面。 首先,...
除了这些核心拦截器,开发者还可以自定义拦截器,以满足特定需求,如日志记录、性能监控、权限检查等。自定义拦截器需要实现`Interceptor`接口,并在struts.xml配置文件中注册,以便在拦截器链中使用。 总的来说,...
- 自定义拦截器需要在`struts.xml`配置文件中注册,并指定其在拦截器栈中的位置。 - **Struts2文件上传拦截器应用**: - Struts2提供了内置的文件上传功能,使用起来非常方便。 - 文件上传功能通常由`...
在Struts2框架中,自定义拦截器是一种非常实用的功能,允许开发者根据应用需求扩展或覆盖默认行为。下面详细介绍如何创建并使用自定义拦截器。 **第一步:创建拦截器类** 创建一个普通类,并让其继承`...
2. **拦截器栈**:多个拦截器的集合称为拦截器栈,Struts2默认提供了几个内置的拦截器栈,如`defaultStack`、`jsonStack`等,也可以自定义拦截器栈。 3. **拦截器配置**:拦截器可以通过Struts2的配置文件`struts....
总结来说,"struts拦截器jar包"是指专门为Struts 1.x框架提供拦截器功能的第三方库,`saif-0.1.jar`和`saif-spring.jar`可能是用于实现特定拦截逻辑或整合Spring框架的扩展库。了解并正确使用这些jar包能够有效地...
4. **自定义拦截器**:当默认拦截器无法满足需求时,开发者可以创建自己的拦截器。这涉及到编写实现`Interceptor`接口的类,并在配置文件中声明和配置。 5. **配置拦截器**:在`struts.xml`或相关的配置文件中,...
Struts2是一个强大的Java Web框架,它为开发者提供了一种优雅的方式来组织...通过这个小示例,初学者可以了解到Struts2拦截器的基本概念、配置方式以及如何自定义拦截器。这将为后续更深入的学习和实践打下坚实的基础。
2. **自定义拦截器** - 如示例代码所示,创建自定义拦截器需要继承`AbstractInterceptor`类,并重写`intercept()`方法。在这个方法中,可以添加自定义的行为,如记录日志。`ActionInvocation`对象提供了对Action...
如果需要,开发者也可以添加自己的自定义拦截器来满足特定的需求。 拦截器链是拦截器工作中的一个核心概念。拦截器链可以被看作是一系列拦截器的有序组合,当需要访问被拦截的方法或字段时,拦截器链中的拦截器会...
- **自定义拦截器**:开发者可以通过实现`Interceptor`接口或继承`AbstractInterceptor`抽象类来创建自己的拦截器。 - **配置拦截器**:在struts.xml配置文件中,可以定义拦截器栈,将拦截器按照需要的顺序排列,并...
如示例代码所示,创建自定义拦截器通常需要继承`AbstractInterceptor`类,并重写`intercept`方法。在这个方法中,你可以添加任何需要在Action执行前后进行的操作。例如,在`TimeInterceptor`中,通过获取当前时间并...
【信息系统软件设计】中的【Struts2.0-拦截器】是软件开发中非常关键的概念,特别是对于基于Java的企业级Web应用。...在实际项目中,根据需求可以自定义拦截器,实现特定的功能,比如登录检查、日志记录、性能监控等。
#### 三、自定义拦截器 1. **创建拦截器** - **类级拦截器**:实现`Interceptor`接口并重写`intercept`、`init`和`destroy`方法。 - **方法级拦截器**:继承`MethodFilterInterceptor`类,并重写`doIntercept`...
3. **第三章:struts2配置详解**:详细解析XML配置文件(struts.xml)的结构和用法,包括Action配置、结果映射、拦截器栈配置等,同时也会涉及动态方法调用和注解配置。 4. **第四章:struts2中的OGNL**:OGNL...
8. **插件和第三方库集成**:Struts2允许扩展,如Spring插件可以方便地与Spring框架集成,实现依赖注入;Hibernate插件则简化了与ORM框架的配合。 9. **测试**:Struts2支持单元测试和集成测试,可以使用JUnit进行...
Struts2提供了一系列内置的拦截器,同时允许自定义拦截器以满足特定需求。 4. **结果类型(Result)**:Action执行完成后,会返回一个结果类型,决定如何展示给用户。常见的结果类型有dispatcher(用于转发到JSP...