- 浏览: 123929 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (47)
- 前端开发 (11)
- 数据库 (12)
- mongodb mongo 数据库 操作 (1)
- java (31)
- sping (6)
- hibernate (6)
- 博客 (1)
- 借鉴 (1)
- lhgdialog (1)
- jequery (3)
- struts2 (8)
- CXF (1)
- WEBSERVICE (3)
- SSH (9)
- 工具类 (4)
- email (1)
- 邮件 (1)
- 发送 (1)
- db2查询 (2)
- 日期对比 (1)
- lucence (1)
- js (2)
- 浮动 (1)
- 弹出层 (1)
- oracle (6)
- mysql (2)
- 进程 (1)
- windows (1)
- axis (1)
- 存储过程 (1)
- 游标 (1)
- oracle,游标 (1)
最新评论
-
xiangyongit:
新手看不懂呀,能不能稍微加些备注
js实现点击复制 -
小二黑:
mark 0000
dwr基于struts2和spring2.5的配置详解 -
QuarterLifeForJava:
不错,虽然有点少 。谢谢分享。
SSH框架常用一些工具类整理
首先在struts.xml的配置中添加拦截器
然后是拦截器类:
<?xml version="1.0" encoding="UTF-8" ?> <!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.objectFactory" value="spring"></constant> <constant name="struts.action.extension" value="action,xhtml" /> <constant name="struts.i18n.encoding" value="UTF-8" /> <constant name="struts.custom.i18n.resources" value="com.gd.resource.template.LabelResources,com.gd.resource.privilege.LabelResources"></constant> <package name="ehrDefault" extends="struts-default"> <result-types> <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" /> </result-types> <interceptors> <interceptor name="admin" class="com.XX.interceptor.AdminInterceptor" /> <interceptor-stack name="requireLogin"> <interceptor-ref name="defaultStack" /> <interceptor-ref name="admin" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="requireLogin" /> <global-results> <result name="login" type="redirect">/index.jsp</result> </global-results>......
然后是拦截器类:
package com.gd.interceptor; import java.util.Map; import javax.servlet.ServletContext; import org.apache.commons.lang.StringUtils; import org.apache.struts2.ServletActionContext; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.gd.po.Userinfo; import com.gd.service.ISecurityPermissionManager; import com.gd.service.ISecurityUserManager; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class AdminInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 7426957840297915277L; @Override public String intercept(ActionInvocation ai) throws Exception { Map<String, Object> session = ai.getInvocationContext().getSession(); if (session == null) { return Action.LOGIN; } Userinfo user = (Userinfo) session.get("user"); if (user == null) { session.put("message", "请先登录!"); return Action.LOGIN; } // 用户访问Action权限判断 if (!actionAuthority(ai, session)) { return Action.LOGIN; } return ai.invoke(); } public boolean actionAuthority(ActionInvocation ai, Map<String, Object> session) { // 用户访问Action权限判断 ServletContext sc = ServletActionContext.getServletContext(); //此处获取请求的action及其方法 String permission = ai.getProxy().getActionName().toLowerCase() + "." + ai.getProxy().getMethod().toLowerCase(); ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(sc); ISecurityUserManager securityUserManager = (ISecurityUserManager) context.getBean("securityUserManager"); ISecurityPermissionManager securityPermissionManager = (ISecurityPermissionManager) context.getBean("securityPermissionManager"); //查询数据库是否有相同的链接有相同的则有权限访问 if(!securityPermissionManager.checkIsRepeatPermission(permission)){ return true; } if(securityUserManager!=null){ Userinfo userInfo=(Userinfo)session.get("user"); return securityUserManager.checkPrivilege(userInfo.getUserName(),permission); } return true; } }
发表评论
-
myeclipse根据wsdl文件生成webservice服务端
2017-05-22 11:38 1158java开发会经常涉及到接口开发,有时候会涉及调用对方提供 ... -
spring+mybatis+mysql示例
2017-03-02 14:06 554简单的增删查改spring + mybatis + ... -
java调用存储过程并封装成map
2016-10-21 10:20 1939public List<Map<String , ... -
javaweb工程服务器配置域名访问
2016-02-03 16:28 32131、申请域名: 例:www.baidu.com 2、apa ... -
java调用webservice接口
2016-01-19 11:56 0package com.mvc.controller; ... -
maven搭建javaweb项目
2015-06-19 15:08 543见链接:http://www.cnblogs.com/xdp- ... -
java数据库连接池操作
2015-06-19 13:57 717一、应用程序直接获取 ... -
BigDecimal在实际项目的应用及遇到的问题
2015-01-28 11:46 682BigDecimal在实际项目的应用及遇到的问题 2013-0 ... -
java操作系统的进程
2014-06-13 14:07 7261、windows下调用dos命令,很简单的java代码: ... -
DB2、oracle和mysql语句的日期对比及字符串截取
2014-06-13 10:07 3379一、在数据库查询中,我们会经验遇到日期的对比,在常用数据库中, ... -
dwr基于struts2和spring2.5的配置详解
2014-03-27 14:08 1186第一步:web.xml配置; <servlet> ... -
java字符串过滤回车和换行符
2014-01-14 15:20 22920//第一种方式 import java.util.reg ... -
oracle常用功能语句
2013-12-23 14:25 719<!--新建用户--> create ... -
java获取随机数
2013-12-17 16:50 17201、获取num个不大于range的随机数 /** * ... -
基于数据库lucence 3.6.2多字段配合多关键字的模糊查询
2013-12-06 10:52 1105一、首先是从数据库查询数据并添加索引 /** * 写 ... -
db2日期对比的sql,并读取xml字段数据
2013-12-06 10:47 826date(char(XML2CLOB( xmlquery( ... -
java打开拼接的rul链接并带上参数
2013-11-26 09:50 1062//判断当前系统是否支持Java AWT Desktop ... -
java调用windows应用程序
2013-11-20 11:35 794public static void main(Strin ... -
hibernate的hql查询多对多查询
2013-11-08 12:04 3990在hibernate的hql查询中,假如说分组信息与试 ... -
struts2的基于拦截器的权限设计
2013-09-22 17:21 9621、struts-config.xml中的配置 <p ...
相关推荐
拦截器在Struts1中扮演着重要角色,它允许开发者在动作执行前后插入自定义的逻辑,比如日志记录、权限验证、事务管理等。SAIF插件是Struts1中一个特定的拦截器实现,用于增强框架的功能。 **1. Struts1 拦截器原理*...
在这个“Struts2拦截器实例”中,我们将探讨如何利用Struts2的拦截器机制来实现用户权限管理,确保只有已登录的用户才能访问特定的页面或执行特定的操作。 首先,让我们理解一下什么是拦截器。在Struts2中,拦截器...
总的来说,Struts2的拦截器机制使得开发者能够轻松地添加自定义行为,提高了代码的复用性和模块化,是实现复杂业务逻辑和增强应用程序功能的重要工具。通过理解并熟练使用拦截器,可以极大地提高Struts2应用的灵活性...
总的来说,"Struts2框架实现图书管理系统"是一个实践性的项目,涵盖了Struts2的基础应用和拦截器的使用,对于理解和掌握Struts2框架有着极大的帮助。通过这个项目,开发者不仅可以学习到如何构建一个完整的Web应用,...
在"Struts2+SQL Server实现登录"项目中,开发者利用Struts2的拦截器机制和Action类来处理用户的登录请求。Struts2拦截器能够对HTTP请求进行预处理和后处理,如验证用户输入、记录日志等。Action类是业务逻辑的载体,...
5. **拦截器(Interceptor)**:Struts2的拦截器是处理请求的重要机制,可以实现诸如权限检查、日志记录、事务管理等功能。在这个登录验证程序中,可能会使用预定义的Interceptor如ValidationInterceptor进行表单...
3. **拦截器(Interceptors)**:Struts2的拦截器机制允许在Action执行前后插入额外的功能,如日志记录、权限检查、事务管理等。在描述中提到的分页和模糊查询可能就是通过拦截器实现的,这些功能可以被抽离出来,...
项目可能使用了Struts2的拦截器(Interceptor)机制,如LoginInterceptor,来检查用户是否已登录,只有登录成功的管理员才能执行管理操作。同时,还需要实现角色和权限的管理,确保不同角色的用户只能访问其权限范围...
为了增强功能和性能,Struts2使用拦截器来处理通用的任务,如日志、权限检查、事务管理等。这些拦截器可以在Action执行前或执行后运行,使得代码更加模块化和可复用。 总的来说,"Struts2的学生管理系统"项目是一个...
**基于Struts2实现报道管理系统** Struts2是一款强大的MVC框架,用于构建Java Web应用程序。在报道管理系统中,Struts2起到了核心架构的作用,它提供了模型-视图-控制器的设计模式,使得开发者能够更有效地组织和...
在权限管理中,Struts2可以通过拦截器实现权限校验,确保只有具备相应权限的用户才能访问特定资源。 3. Hibernate框架:Hibernate是Java领域广泛使用的ORM工具,能将Java对象与数据库表进行映射,简化数据库操作。...
此外,Struts2还支持拦截器,可以实现事务管理、权限控制等功能,提高代码的可维护性和安全性。 页面展示方面,Struts2支持JSP、FreeMarker、Velocity等多种视图技术。通常,每个Action方法的结果都会映射到一个...
拦截器则提供了一种在Action执行前后插入额外逻辑的方式,如日志记录、权限验证等;结果类型则定义了Action执行后如何展示结果,比如转发到某个JSP页面。 在用户注册部分,我们需要创建一个表单来收集用户信息,如...
拦截器在Struts2中扮演着重要角色,它们是AOP的一种实现,可以在Action执行前后插入额外的处理逻辑,如日志记录、权限验证、事务管理等。在分页场景下,拦截器可以用来处理分页参数,如当前页数和每页显示的条目数,...
4. **集成拦截器**:使用Struts2的拦截器机制,添加Shiro的`authc`拦截器,该拦截器会在每个Action执行前检查用户是否已登录。 5. **权限控制**:在Action或Action方法上添加注解,指定需要的权限,Shiro会根据这些...
1. **拦截器(Interceptor)机制**:Struts2的拦截器允许开发者插入自定义的处理逻辑,如日志、权限验证等,增强了代码的可复用性和模块化。 2. **OGNL(Object-Graph Navigation Language)表达式语言**:用于在...
Struts2还引入了拦截器(Interceptor),这是一个强大的机制,可以实现如日志记录、事务管理、权限验证等功能。此外,Struts2支持多种结果类型,如dispatcher(转发)、redirect(重定向)等,方便控制请求的流向。 ...
Struts2采用了拦截器(Interceptor)机制,开发者可以通过自定义拦截器实现诸如日志记录、权限检查等预处理或后处理操作。此外,Struts2支持多种结果类型,如JSP、FreeMarker、Velocity等,方便视图的展示。 接下来...
总的来说,这个“Struts+Spring+Hibernate 集成实现的经典权限管理系统”提供了一个完整的解决方案,展示了如何在Java Web应用中有效地管理权限,同时也为开发者提供了一个学习和实践整合这三大框架的实例。...
3. **Interceptor(拦截器)**:拦截器是Struts2的一大特色,它允许我们在Action执行前后添加额外的功能,如日志、权限检查等。常见的拦截器有Params(处理请求参数)、Validation(表单验证)和Stack(默认拦截器栈...