`

[转]Struts1.2 验证用户是否登陆 两种方法

 
阅读更多
Struts1.2 验证用户是否登陆 两种方法

项目中一般需要做验证用户是否登陆,没登陆就不能进入ACTION执行后台代码等的需要。
这里根据以前经验我用两种方法做过验证,特记下供大家参考,有更好方法请留言。
第一种
为所有ACTION做一个BaseAction(此类 extends Action)
此类重载execute方法 ,部分实例代码 ,根据个人需要去定

java 代码
  1.   
  2.    /**  
  3.      * override method.  
  4.      */  
  5.     public ActionForward execute(ActionMapping mapping, ActionForm form,   
  6.             HttpServletRequest request, HttpServletResponse response)   
  7.             throws Exception   
  8.     {   
  9.         super.execute(mapping, form, request, response);   
  10.   
  11.         //用户如果未登录或session过期,则转向登录动作。   
  12.         if (!isLogin(request))   
  13.             return mapping.findForward("login");   
  14.   
  15.         try  
  16.         {   
  17.             ActionForward forward = doExecute(mapping, form, request, response);   
  18.                
  19.             //重新生成token   
  20.             //super.saveToken(request);   
  21.             return forward;   
  22.         } catch (Exception e)   
  23.         {   
  24.             logger.error(e);   
  25.             e.printStackTrace();   
  26.                
  27.             return mapping.findForward("systemError");   
  28.         }   
  29.     }   
  30.   
  31. /**  
  32.      * 判断用户是否已经登录。  
  33.      *   
  34.      * @param request  
  35.      * @return  
  36.      */  
  37.     protected boolean isLogin(HttpServletRequest request)   
  38.     {   
  39.         return request.getSession().getAttribute(Session_User) != null;   
  40.     }   
  41.   
  42. 这样写后,以后所有ACTION都继承此类,然后重写doExecute方法即可   
  43. GradeAction extends BaseAction   
  44. 在doExecute方法 写操作代码   
  45.   
  46. 第二种   
  47. 也是做个BaseAction继承DispatchAction,然后所有ACTION继承此BaseAction   
  48. BaseAction主要代码片段   
  49. /**  
  50.      * override method.  
  51.      */  
  52.     public ActionForward execute(ActionMapping mapping, ActionForm form,   
  53.             HttpServletRequest request, HttpServletResponse response)   
  54.             throws Exception   
  55.     { //用户如果未登录或session过期,则转向登录动作。   
  56.       if (!isLogin(request))   
  57.             return mapping.findForward("sessionEnd");   
  58. try  
  59.         {   
  60.            // ActionForward forward = new ActionForward();   
  61.   
  62.             //重新生成token   
  63.             //super.saveToken(request);   
  64.            
  65.             return super.execute(mapping, form, request, response);   
  66.         } catch (Exception e)   
  67.         {   
  68.            // logger.error(e);   
  69.             e.printStackTrace();   
  70.                
  71.             return mapping.findForward("systemError");   
  72.         }   
  73. }   
  74.   

以后所有类继承此基类
LinkAction extends ActionX
由于DispatchAction特点,所有继承BaseAction的类都可以正常写单独方法完成。

至此两种验证见效。

分享到:
评论
4 楼 leejon 2009-09-19  
既然每访问一个action操作都要验证权限的话,那还不如直接用Filter。这样还方便操作些。
3 楼 clican 2008-07-28  
用Filter来做不是更加好点。
2 楼 code4high 2008-06-17  
骗访问量的文章
1 楼 code4high 2008-06-17  

相关推荐

    struts 1.2 ActionFrom表单验证

    表单验证有两种主要方式:客户端验证和服务器端验证。客户端验证通过JavaScript在浏览器中执行,可以提供即时反馈,但容易被绕过;服务器端验证是必需的,因为它是安全的,但可能会增加服务器负载。 客户端验证可以...

    struts1.2+spring2.0 登录 例子

    Struts1.2和Spring2.0是两个经典的Java企业级开发框架,它们在Web应用程序开发中被广泛使用。这个“struts1.2+spring2.0 登录例子”是一个整合了这两个框架的示例项目,旨在帮助开发者理解如何在实际应用中集成和...

    Struts1.2

    Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的主要目的是...通过实际操作,可以更深入理解Struts1.2框架的工作原理和使用方法。

    struts1.2框架验证实例

    Struts1.2作为Apache组织的一员,提供了一种结构化的解决方案,用于简化Java Servlet和JSP的开发,使得开发者能够更好地分离业务逻辑、控制流程和视图。它的核心组成部分包括ActionForm、Action、Controller和配置...

    Struts1.2动态表单注册 验证实例(2)

    Struts1.2提供了一种称为“Validator框架”的验证机制,它可以验证用户输入的数据是否符合预设的规则。这通常涉及到两部分:ValidatorForm接口的实现和验证规则文件(validation.xml)的编写。在UserBean中实现...

    Struts1.2动态表单注册 验证实例(1)

    Struts1.2提供了两种验证方式:客户端验证和服务器端验证。客户端验证通常使用JavaScript,可以在用户提交表单前即时检查输入是否符合规则,提高用户体验。服务器端验证则是在服务器接收到请求后进行,更为安全但...

    struts1.2国际化和标签验证

    标签验证是Struts1.2中处理用户输入数据的一种方式。Struts1.2提供了一套内置的标签库,可以方便地在表单中添加验证规则,如必填、长度限制等。例如,我们可以在表单中使用`<html:text>`标签并配合`validate`属性来...

    jsp+myeclispe+struts1.2登陆例子

    **JSP + MyEclipse + Struts1.2 登陆示例详解** 在Web开发领域,JSP(JavaServer Pages)常用于构建动态网页,MyEclipse是集成开发环境(IDE),提供了对Java Web项目的全面支持,而Struts1.2则是一个经典的MVC...

    struts1.2 使用流程

    Struts1.2提供了一种MVC(Model-View-Controller)架构模式的实现,帮助开发者更好地组织和管理Web应用程序。下面我们将详细探讨Struts1.2的使用流程,以及其核心组件的功能。 ### Struts1.2的使用流程 #### 1. ...

    struts2和struts1.2学习课件

    本课件主要聚焦在Struts 2和Struts 1.2这两个版本上,它们都是Java开发中的重要工具,帮助开发者实现业务逻辑与视图的分离,提高代码的可维护性和可扩展性。 Struts 1.2是Struts框架的第一个重要版本,它引入了许多...

    struts1.2文件上传demo

    Struts1.2 文件上传是Java Web开发中的一个重要实践,尤其在处理用户通过网页提交大体积数据时,如图片、文档等。这个"struts1.2文件上传demo"是一个基于MyEclipse6.0集成开发环境的示例项目,用于演示如何在Struts...

    struts1.2基本标签使用视频

    Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的核心部分包括一个控制器Servlet,它负责接收HTTP请求,并根据配置的Action映射来...

    Struts1.2动态FormBean加验证功能的一个例子

    Struts1.2提供了两种验证方式:客户端验证和服务器端验证。客户端验证通常使用JavaScript,当用户提交表单时,浏览器会在发送请求之前检查输入是否符合规则。服务器端验证则在服务器接收到请求后进行,这是更安全但...

    struts1.2+Hibernate3.0编写的人事管理系统

    Struts1.2是MVC(Model-View-Controller)架构的一种实现,主要用于处理用户界面与业务逻辑之间的交互,而Hibernate3.0则是一个强大的对象关系映射(ORM)工具,它简化了数据库操作,使得开发者可以使用Java对象来...

    hibernate3.2+struts1.2增删改查,附加数据

    4. **表单验证**:`Struts1.2` 的ActionForm类可以实现前端表单数据的验证,提高用户体验。 5. **国际化**:`Struts1.2` 支持多语言,便于创建支持不同语言的全球化应用。 6. **拦截器**:`Struts1.2` 引入了拦截...

    struts1.2+hibernate3框架的权限管理系统

    Struts1.2和Hibernate3是两个非常经典的Java Web开发框架,它们的结合在过去的许多企业级项目中被广泛使用。Struts1.2作为MVC(Model-View-Controller)设计模式的一种实现,主要用于控制应用程序的流程,而...

    图书管理系统(struts 1.2+MySql5.0).rar

    本系统采用经典的Java Web开发框架Struts 1.2与关系型数据库MySQL 5.0进行构建,下面将详细介绍这两个核心技术及其在图书管理系统中的应用。 1. Struts 1.2框架: Struts 1.2是Apache软件基金会开发的一个开源MVC...

    struts对比1.2vs 2.0.rar

    这个压缩包“struts对比1.2vs 2.0.rar”包含了两篇关于Struts 1.2与Struts 2.0对比的文档,格式为CHM,这是一种Windows下的帮助文件格式,通常用于存储大量的文本信息和结构化的索引。 Struts 1.2是早期版本,它的...

    struts-2.3.1.2.zip

    Struts 2是Struts 1的后续版本,它结合了Struts 1和WebWork框架的优点,提供了一种更加灵活、功能更加强大的框架体系。 在"struts-2.3.1.2.zip"这个压缩包中,包含了Struts 2框架的版本2.3.1.2的所有组件和资源。这...

    struts-2.3.1.2-all

    5. **配置灵活性**:Struts 2支持XML和注解两种配置方式,使得开发者可以根据项目需求选择最合适的配置方式。 6. **集成性**:Struts 2可以与Spring、Hibernate等其他框架无缝集成,方便构建复杂的Java EE应用。 ...

Global site tag (gtag.js) - Google Analytics