`
javafenger
  • 浏览: 246727 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

应用J2EE构建项目登录方式的改进设计与实现

阅读更多
j2ee是当前建立和开发各种web应用的主流平台,本文针对在系统中用户登录存在的问题,提出了改进方案,详细描述了系统工作 原理 ,并针对具体业务,给出实现的具体内容,为在j2ee环境下实现统一认证、集中式的系统 管理 与权限管理体系提供了可行方案。

  关键词 j2ee;web应用;登录;

  引言

  为改变传统的登录方式,方便用户充分利用 网络 资源,我们改进了用户登录的方式,建立了用户帐户认证中心系统,负责管理对所有的用户建立网络用户登录标识的各种资料,管理登录和注销过程。用户只需一次登录,就可以访问其拥有的权限和资源,极大地方便了用户的使用,提高了系统资源的利用效益。

  基于j2ee用户登录的设计

  系统采用多层(n-tier)开发模式,基本构架如图1所示。系统基本构架总体上分为四层:系统平台层、服务层和应用层,在服务层和系统平台层之间构架系统的数据层,使得系统数据独立、 安全 。


图1 系统基本框架图

  系统平台采用j2ee标准,基于j2ee标准开发的应用可以跨平台地移植,并提供了 企业 计算中需要的各种服务;j2ee中多数标准定义了接口,例如jndi, jdbc等,因此可以和许多厂商的产品配合,容易得到广泛的支持;j2ee树立了一个广泛而通用的标准,大大简化了应用开发和部署过程。操作系统可以使用基于ms windows 、或者unix、lunix等操作系统。

  在系统平台层之上是系统的数据层,数据库可以使用xml。xml具有良好的可扩展性,语言简单有效,可自行定义标记;内容与形式的分离,主要刻画数据内容,不考虑显示效果;有严格的语法要求,便于分析统一和与数据库信息转换;便于传输,为纯文本形式,可通过http协议直接传输,可跨越防火墙等等。系统还可以采用oracle、ms sql server、db2、mysql等其他数据库。

  在系统平台层和数据层的支持下,系统通过服务层来对整个平台提供服务。提供应用的支持和标准化的应用接口。用户认证中心就建立在服务层,给每一个用户一个建立用户标识,并负责对每一个登录客户进行系统认证。

  在服务层之上系统构架了应用层。应用层包括单位各种综合应用,如指挥自动化网、政治工作宣传网、财务网等。由于系统提供标准化接口,因此,单位内部现在已有的应用系统和以后开发的应用只要使用标准化接口,就可以方便、无缝地构架在系统平台应用中。

  整个这个多层次结构组成了的系统的整体,通过多层次的结构应用,系统的扩展性和灵活性都得以保证,并且具有了更广阔的适用性。

  基于j2ee用户登录实现

  1、系统实现 原理

  用户在访问系统组件中的任何一个页面,系统都会转到登录界面,在用户登录后,系统会自动转会到客户上次请求的页面。并且用户此后可以在系统中无缝切换,不需要再次进行登录,实现了一站式登录。系统用户登录实现原理如图2所示。


图2 系统用户登录实现图

  系统实现步骤如下:

  ⑴ 用户访问应用系统。

  ⑵ 应用系统如果 检查 到用户没有在自己的服务器登录,则将用户请求重定向到用户认证中心上。

  ⑶ 用户认证中心验证用户的实时状态,如果用户没有登录,则自动转向认证中心的用户登录界面。如果已经登录,将用户标识及用户令牌,重定向回应用系统。

  ⑷ 用户认证中心验证用户身份后,生成用户令牌,重定向回应用系统。

  ⑸ 应用系统接收统一格式的用户令牌,取得用户在本系统上的登录账号,将用户在本系统上状态置为登录,返回用户请求访问的页面。

  ⑹ 如果用户在访问应用系统之前已经在应用系统登录服务器上登录过,第二步到第五步对用户来说就是透明的,用户感觉只是向应用系统发出了访问请求,然后得到了正确的页面反馈。

  从上面的流程,我们可以知道,不管用户访问哪个应用系统,用户只需要一次登录,就保证用户在整个系统中的状态都是在线的,不再需要进行第二次登录。

  2、系统实现关键代码

  系统定义了三个session变量:

   userid:标识用户身份;
   pass:标识用户即时状态;
   url:保存了上次请求的页面,以保证在用户登录后能转到用户请求的页面。

  初始化时:

protected void init()
{
 session.add("userid", 0);
 session.add("pass", false);
 session.add("url", "");
}

  对于验证过程,首先将传递过来的参数保存到session中。如果用户没有登录,则转到login.jsp页面进行登录。如果用户已经登录了。则将用户标识和用户令牌重定向到应用系统访问页面。

private void validate()
{
 bool pass = (bool)session["pass"];
 if ((request. getstring ["url"] != null) && (request.getstring["url "] != ""))
 {
  session["url "] = request.getstring["url "];
 }
 if (pass)
 {
  string userid = session["userid"].tostring();
  string url = session["url "].tostring();
  response.redirect(url+"/apppage.jsp?userid=" + userid + "&pass=true);
 }
 else
 {
  response.redirect("login.jsp")
 }
}

  结束语

  我们已经完成了本文所阐述采用改进的用户登录系统在j2ee体系下的实现,并成功应用到多个的web应用系统中,实践证明,该登录系统具有以下几个特点:

  ⑴ 具备无缝连接功能。能够尽可能地利用现有系统的身份认证模块以及现有的用户设置和权限设置,尽量保护现有的投资,减少重新的用户设置和权限设置的费用,同时避免对现有系统进行大规模的修改。

  ⑵ 具有良好的扩展性。不仅能支持现有的应用系统及其现有的用户系统,当开发和部署新的应用组件时,这个系统服务可以作为它的身份认证模块的形式工作,也就是说,新的组件应用可以通过集成该服务的形式来实现等价的功能,不必再设计用户系统,。

  ⑶ 具备灵活的使用模式。此系统 管理 为用户提供多种登录手段,包括传统的口令登录或者配发用户身份卡,用户可以通过多种方式自由地使用该系统服务。为了提高系统 安全 性,又节约费用,我们采用usb存储设备,将个人的信息存储其中,进行登录认证,取得了良好的效果。

 

分享到:
评论

相关推荐

    毕业设计J2EE项目

    **毕业设计J2EE项目** 本毕业设计是一个基于J2EE技术的网上...通过这个J2EE毕业设计项目,学生不仅可以掌握J2EE的核心技术,还能锻炼项目管理、需求分析和问题解决能力,对将来从事企业级应用开发有着重要的实践意义。

    教你开发j2ee项目

    3. **升级JB9支持Struts 1.1**:JB9可能是指JBuilder 9,这是一个IDE版本,升级支持Struts 1.1意味着更新项目以利用Struts框架的新特性和改进,Struts是MVC架构的一个实现,用于构建动态Web应用。 4. **部署EAR包**...

    基于J2EE的财务管理系统设计与实现.doc

    【基于J2EE的财务管理系统设计与实现】 随着信息技术的飞速发展,计算机技术在现代社会中的应用日益广泛,尤其...整个设计与实现过程充分体现了J2EE技术在企业级应用中的优势,为财务管理提供了一个高效、易用的平台。

    基于j2ee的网上订餐系统的实现与设计

    《基于J2EE的网上订餐系统实现与设计》是一个典型的Web应用开发项目,它采用Struts、Spring和Hibernate这三大框架构建,旨在提供一种便捷的在线订餐服务。这个系统的设计与实现涵盖了多个IT领域的关键知识点,下面将...

    基于J2EE架构的智能元搜索引擎系统设计与实现

    ### 基于J2EE架构的智能元搜索引擎系统设计与实现 #### 一、引言 随着互联网的快速发展,信息量呈爆炸性增长,如何有效地获取所需信息成为了亟待解决的问题。传统的搜索引擎通过索引网页来提供搜索服务,但往往...

    基于J2EE的博客系统的设计与实现毕业设计.doc

    《基于J2EE的博客系统的设计与实现》 在当今互联网技术飞速发展的时代,Web 2.0的出现使得用户不再局限于被动接收信息,而是能够积极参与内容的创造。博客,作为Web 2.0的重要代表,允许用户分享个人想法、生活点滴...

    基于j2ee的个人博客系统毕业设计+源码

    这个项目通常用于教育目的,帮助学习者了解如何在实际环境中应用J2EE的相关技术和框架。 【描述】中的"基于j2ee的个人博客系统毕业设计,里面有有完整的源代码"意味着该资源包含了实现博客系统所需的所有代码,包括...

    基于J2EE架构网上书店的设计与实现.pdf

    在深入探讨基于J2EE架构的网上书店设计与实现的知识点之前,我们首先需要对J2EE技术有一个清晰的认识。J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,它是一组技术规范和指南,用于开发和运行...

    构建J2EE应用程序,是J2EE开发者的良师益友。

    通过深入研究这些文件,开发者可以学习到实际的J2EE项目构建过程,了解如何将理论知识应用于实际开发中。例如,分析源代码可以帮助理解如何使用EJB进行业务逻辑处理,如何配置Servlet以处理HTTP请求,以及如何通过...

    韩顺平--j2ee项目网上商城

    【描述】提到"写得不好,请大家见谅",这可能是讲师对于教学方式或代码质量的谦虚表达,也可能意味着部分内容可能存在改进空间,但整体上,这个项目仍能为学习者提供宝贵的实践经验,理解J2EE在实际项目中的应用。...

    基于J2EE技术社交网的研究与实现

    ### 基于J2EE技术社交网的研究与实现 #### 摘要与关键词解析 本文探讨了一种基于Struts、Hibernate和Spring框架的J2EE开发策略,并设计实现了一个社交网站系统。社交网站利用人际关系网络进行信息分享与传播,而...

    J2ee设计模式.pdf

    J2EE(Java 2 Platform, Enterprise Edition)设计模式是针对企业级应用程序中重复出现的问题提出的解决方案,这些模式有助于改进应用程序的结构和扩展性。设计模式根据不同的需求场景分为多个类别,主要涉及Web层、...

    j2ee 登录小程序

    J2EE(Java 2 Platform, Enterprise Edition)是一个由Oracle公司维护的开源框架,用于构建企业级的分布式应用程序。它提供了丰富的服务、API和组件模型,以支持Web应用程序的开发,包括登录系统。在这个特定的...

    基于Java的weblogic+j2ee构建音乐网站(原代码+数据库).zip

    通过分析这个项目,可以学习到如何利用Java和J2EE构建一个完整的音乐网站,从后端的数据库设计、业务逻辑实现,到前端的用户交互,再到服务器的管理和部署。对于Java开发者来说,这是一个极好的实战案例,有助于提升...

    j2ee的设计模式(最新版)

    通过灵活运用这些设计模式,开发者可以构建出高效、稳定且易于维护的J2EE应用程序。 "最新的购物思想、最新的购物理念、最新的市场便捷"这部分描述可能指的是J2EE设计模式在电子商务领域的创新应用,如微服务架构、...

    J2EE实现的B2C电子商务网站

    本项目基于J2EE技术实现了一个完整的B2C(Business to Consumer)电子商务网站。J2EE,即Java 2 Platform, Enterprise Edition,是一个跨平台的企业级应用开发框架,用于构建分布式、多层的Java应用程序,尤其适合于...

    意见墙基于Struts+Hibernate实现,J2EE项目

    【标题】"意见墙基于Struts+Hibernate实现,J2EE项目" 描述了一个使用现代Web开发技术构建的系统,其目标是改进学校的意见收集和反馈机制。此系统利用了Struts和Hibernate这两个核心框架,它们是Java企业级应用开发...

    j2ee作业练习五答案

    通过深入分析和实践这些知识点,你不仅能提升编程能力,还能更好地理解和应用J2EE框架,为构建实际的企业级应用打下坚实基础。记得在学习过程中,不仅要理解代码的运行机制,还要思考如何优化和改进,这样才能真正...

    构建高性能J2EE应用的技巧

    在构建J2EE应用时,架构工程师通常会使用到J2EE的基本部分——Servlet。如果架构师不使用Session Beans, Entity Beans, 或 Message Beans, 那么改进性能的方法就很少。只能采用增加CPU或更多的物理服务器等方法。EJB...

    J2EE 架构师手册

    J2EE架构师的角色则是在项目初期定义技术路线,设计系统架构,确保系统的稳定性和性能,并解决开发过程中遇到的技术难题。 在本书中,你会了解到J2EE架构设计的基本原则,包括分层架构、模块化设计、服务化思想等。...

Global site tag (gtag.js) - Google Analytics