`

SSH中的重构 web状态Session的管理

    博客分类:
  • java
阅读更多

SSH中的Session管理

最近又看起了《重构》,还是觉得经典,从小点出发,比模式来的实际轻量,下面是对SSH做的一些优化,让代码看起来结构更清楚,以后会更多的尝试《重构》的方法来改变SSH,更接地气一点。

目的:单独一个类来处理Session数据

做法:建立一个类,通过私有静态变量和存取方法存储Session值。

 

public class SessionInfo {
    private static final String JXC_VALIDATECODE = "JXC_VALIDATECODE";

    public static void setValidateCode(String code) {
        put(JXC_VALIDATECODE, code);
    }

    public static String getValidateCode() {
        if (get(JXC_VALIDATECODE) == null) return null;
        return (String) get(JXC_VALIDATECODE);
    }

    private static Map getSession() {
        if (ActionContext.getContext().getSession() == null) {
            ActionContext.getContext().setSession(new HashMap());
        }

        return ActionContext.getContext().getSession();
    }

    private static void put(String key, Object code) {
        getSession().put(key, code);
    }

    private static Object get(String key) {
        return getSession().get(key);
    }
}

 由于在项目开发中可能多个开发人员都需要在存取Session中的某个值,所以等于把Session封装在类中,使其更安全更方便来使用。

 

也考虑通过单例来生成来用,但是有几个问题,一个是ActionContext是变化的不同的用户会话会重建ActionContext,使用单例也没多大意义,而且静态方法变成对象方法,单例至少还需要一个getInstance()方法后面才能跟方法增加调用方法时代码长度,所以没必要。

分享到:
评论

相关推荐

    SSH实现用户登录,MyEclipse+SQL Server2000

    如果信息正确,系统会将用户信息保存在session中,允许用户访问受保护的页面;否则,会返回错误提示。 在开发过程中,开发者需要注意安全性问题,比如使用哈希加盐的方式存储用户密码,防止明文密码泄露。此外,还...

    ssh框架开发博客eclipse版

    SSH框架是Java Web开发中常用的三大框架整合,包括Spring、Struts和Hibernate。Spring作为核心容器,负责管理对象和依赖注入;Struts处理MVC模式中的Controller层,负责请求分发;Hibernate则作为持久化层,用于...

    JSP基于SSH汽车销售网站(MySQL版).zip

    SSH(Spring、Struts、Hibernate)是Java Web开发中的经典三层架构,广泛应用于企业级应用开发,本项目以JSP为前端展示,结合Spring、Struts、Hibernate三大框架,以及MySQL数据库,构建了一个完整的汽车销售网站。...

    基于SSH模拟当当网项目(电子商务平台)

    --------当当网SSH重构---------- 1.DAO需要根据原有接口全部重构. 采用Spring+Hibernate方式实现 2.Service改造工作 采用Spring的IoC注入方式使用DAO 3.Action改造工作 采用整合插件注入方式使用Spring容器中的...

    ssh(structs,spring,hibernate)框架中的上传下载

     LobHandler必须注入到Hibernate会话工厂sessionFactory中,因为sessionFactory负责产生与数据库交互的Session。LobHandler的配置如代码 5所示:  代码 5 Lob字段的处理句柄配置 1. 2. … 3. 4. class="org....

    三大框架整合,与数据库相连,下载就能用

    在IT行业中,SSH(Struts2、Spring、Hibernate)被称为三大框架,它们是Java Web开发中的核心组件,常用于构建企业级应用。本项目"三大框架整合,与数据库相连,下载就能用"提供了SSH整合的一个实例,对于初学者来说...

    学习spring的好东西

    此外,表单的action属性设置,以及SSH项目重构的步骤也是开发中需要注意的点。 以上是对Spring框架的一些关键知识点的详解,涵盖了从基础概念到实际应用的多个方面,对于学习和掌握Spring有着重要的指导意义。

    MyEclipse 6 Java EE 开发中文手册

    8. **Struts、Spring、Hibernate整合**:展示了如何在MyEclipse中实现SSH(Struts、Spring、Hibernate)框架的集成,以及相关配置和应用开发。 9. **Web服务**:涵盖了WSDL的编辑、SOAP通信和Web服务客户端的生成,...

    java笔记 资料收藏大师

    SSH整合涉及Spring的Bean管理、事务控制、AOP在Web层的使用,以及如何将Struts与Hibernate的DAO层进行集成。 4. **Spring框架**:Spring不仅提供IoC(Inverse of Control,控制反转)和DI(Dependency Injection,...

    spring+status2+hibarnate+maven+idea框架搭建及一些列方法

    在搭建SSH项目的过程中,首先需要在IDEA中创建一个新的Maven项目,然后在pom.xml文件中添加Spring、Spring Boot、Hibernate的相关依赖。确保版本号与当前环境兼容,避免出现不兼容问题。同时,别忘了添加Servlet、...

    姓名_javaEE软件工程师_2年_模板(50).doc

    景鑫在项目中负责了前期分析、业务模块划分、数据库设计,以及货运管理模块的部分功能实现,并进行了代码重构优化,提高了代码的重用度。 总的来说,景鑫是一位技术全面、实践经验丰富的JavaEE软件工程师,他的专业...

    程序员面试个人简历(JAVA).doc

    在该项目中,工程师负责了业务模块划分、数据库设计,尤其是货运管理模块的功能实现,并进行了代码重构优化,比如利用泛型提高DAO层的代码复用度。 总之,这份简历描绘了一位有着丰富实战经验和全面技术知识的...

    spring框架学习

    ### Spring框架学习知识点详解 #### 一、Spring框架概述 - **Spring框架的作用**:...- **用SSH重构NetCTOSS项目模块的步骤**:分析现有系统的架构和需求,设计新的SSH架构,逐步替换现有的业务逻辑层和技术栈。

    姓名_javaEE软件工程师_2年_模板(49).doc

    通过这个项目,他负责了业务模块划分、数据库设计以及货运管理模块中的合同管理和统计报表模块的功能代码实现,还进行了代码重构优化,如利用泛型技术提高DAO层的代码重用度。 总的来说,景鑫是一位全面的JavaEE...

    姓名_javaEE软件工程师_2年_模板(43).doc

    在项目中,景鑫承担了前期分析、业务模块划分和数据库设计工作,负责货运管理中的合同管理和统计报表模块,通过代码重构优化提升了系统的性能,例如利用泛型技术改进DAO层,提高代码复用度。同时,他运用Jbpm工作流...

    Java开发个人简历模板27.doc

    求职者在项目中负责业务模块划分、数据库设计,主要编写货运管理模块的功能代码,并进行了代码重构优化,如利用泛型提高DAO层的代码复用性。通过Jbpm实现流程控制,Struts配置完成数据验证和文件下载,利用poi进行...

    java开源包11

    同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发自定义的DSL(领域特定语言在Java)要求。 日志服务器 Apache Flume.tar Flume 是...

    Java个人简历模板29.doc

    3. **Java Web技术**:熟练掌握JSP、Servlet、Filter、Listener、Cookie、Session、EL表达式和JSTL,这些都是构建Web应用程序的基础。理解HTTP协议也是开发Web应用的必要条件。 4. **JDBC**:熟悉JDBC编程和DBUtil...

Global site tag (gtag.js) - Google Analytics