`

学习jpetstore的SignonInterceptor类

 
阅读更多
public class SignonInterceptor extends HandlerInterceptorAdapter {

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
UserSession userSession = (UserSession) WebUtils.getSessionAttribute(request, "userSession");
if (userSession == null) {
String url = request.getServletPath();
String query = request.getQueryString();
ModelAndView modelAndView = new ModelAndView("SignonForm");
if (query != null) {
modelAndView.addObject("signonForwardAction", url+"?"+query);
}
else {
modelAndView.addObject("signonForwardAction", url);
}
throw new ModelAndViewDefiningException(modelAndView);
}
else {
return true;
}
}

}
通过WebUtils.getSessionAttribute(request, "userSession");得到session中的用户信息,if (userSession == null)为空则取得用户的url和query一起转到SignonForm页面 短短的几行代码就解决了简单的安全访问问题 防止用户不通过登录访问安全性较高的页面 同时保存用户请求的url信息 以便登录后直接跳到用户需要访问的url
分享到:
评论

相关推荐

    jpetstore开源学习代码

    《jpetstore开源学习代码》是一个深受开发者欢迎的学习资源,特别针对那些希望深入理解J2EE(Java 2 Platform, Enterprise Edition)技术的初学者和有经验的程序员。jpetstore项目是一个示例应用,它展示了如何在...

    学习Spring 的例子JpetStore

    《Spring框架学习:以JpetStore为例》 Spring框架是Java企业级应用开发中的核心框架,它为开发者提供了丰富的功能,简化了开发流程,提高了代码的可测试性和可维护性。JpetStore作为Spring的经典示例项目,是学习...

    jpetstore

    总的来说,jpetstore是一个理想的起点,对于想要学习和理解Java Web开发的人来说非常有用。它涵盖了从基础的HTTP请求处理到复杂的MVC架构,再到数据库操作和安全控制的多个重要方面。通过研究和实践jpetstore,...

    JPetStore-5.0.zip_JPETSTO_jpetstore-5_jpetstore5_jpetstore5.0_jp

    总的来说,JPetStore-5.0不仅是一个电商应用实例,也是一个学习和研究Java Web开发、iBatis、Spring和MVC模式的宝贵资源。通过对这个项目的深入研究,开发者可以提升自己的技术能力,更好地理解和运用相关技术栈。

    jpetstore系统架构图

    尤其在jpetstore5.0版本中,其系统架构图详细展示了系统的各个组成部分及其相互间的交互方式,为理解和学习基于Java的企业级应用开发提供了宝贵的资料。 ### 一、系统架构概述 jpetstore5.0系统架构遵循经典的MVC...

    Spring源码学习-JPetStore.part3

    spring自带的JPetStore,我已经配置好(数据库也配置好,用的是hsqldb),可以直接导 入eclipse中运行。共3个压缩包

    jpetstore spring 的经典完整可直接运行的例子 jpetstore

    总的来说,jpetstore项目是一个极好的学习资源,对于想要深入理解和掌握Spring、iBatis和Struts的人来说,它是不可或缺的实践案例。通过分析和调试这个项目,你不仅可以提升自己的编程技能,还能对Java Web开发的...

    spring例子: jpetstore

    在压缩包文件名称 "springapp-petclinic" 中,"petclinic"可能是JPetStore的一个变体或者相关项目,通常Spring PetClinic是一个与JPetStore类似的学习资源,用于教授Spring Boot和Spring Data JPA等现代Spring技术。...

    jpetstore4.0 (spring+struts+ibatis)

    《基于Spring、Struts和...这个项目对于学习和理解Java Web开发中的MVC架构、依赖注入、数据库操作等核心概念具有很高的参考价值。同时,通过实际操作这个项目,开发者可以进一步掌握这些技术在实际项目中的应用。

    iBATIS JPetStore

    JPetStore是基于iBATIS实现的一个在线宠物商店示例,它的设计和实现为开发者提供了学习数据库驱动应用开发的良好实践。 首先,让我们深入了解一下iBATIS框架。iBATIS的核心理念是将SQL与Java代码分离,通过XML或...

    学习ibatis很好的例子JPetStore

    学习ibatis很好的例子JPetStore学习ibatis很好的例子JPetStore学习ibatis很好的例子JPetStore学习ibatis很好的例子JPetStore学习ibatis很好的例子JPetStore

    JPetStore (Struts + Spring + Hibernate)版

    **文件名列表:“jpetstore”** 这个文件名可能是JPetStore项目的源代码压缩包,包含了所有必要的类、配置文件和其他资源,用于构建和运行这个集成Struts、Spring和Hibernate的电子商务应用。开发者可以解压后,在...

    jpetstore宠物店程序

    总的来说,jpetstore项目是一个非常实用的学习资源,对于想要掌握Struts和Spring整合应用的开发者来说尤其有价值。通过实际操作,不仅可以了解如何构建一个完整的Web应用,还能加深对MVC架构、数据库操作、依赖注入...

    MyEclipse中加载Spring的JPetStore

    通过学习和实践JPetStore,我们可以快速掌握Spring的核心技术。 加载JPetStore到MyEclipse的过程如下: 1. **项目导入**:首先,你需要下载JPetStore的源码压缩包,这在你提供的文件列表中已经包含,名为...

    jpetstore源代码

    - **Java编程**:jpetstore项目基于Java语言,因此学习者可以从中了解到面向对象编程、异常处理、类和对象、接口等Java基础知识。 - **MVC架构**:作为Web应用程序,jpetstore可能采用了Model-View-Controller...

    springMVC+mybatis+jpetstore工程源码

    综上所述,这个项目是一个学习和实践SpringMVC与MyBatis集成的绝佳实例,同时通过jpetstore的应用场景,可以帮助开发者了解如何在实际环境中配置和使用这两个框架。此外,由于使用MySQL作为数据库,因此也涉及到了...

    JPetStore5(更正了其中的2个错误)

    这个项目在原有的JPetStore基础上进行了修正,解决了两个已知的问题,使得其更加完善和稳定,对于初学者来说,它提供了从理论到实践的学习路径,有助于理解J2EE架构和相关技术。 **主要技术栈** 1. **JavaServer ...

    JPetStore4.0.5

    在实际开发中,JPetStore4.0.5的源码是一个很好的学习资源。通过分析其结构,开发者可以了解如何使用Ibatis进行数据库操作,如何配置Struts的Action和ActionForm,以及如何组织MVC架构。此外,该项目还涵盖了常见的...

    Struts+Spring+Hibernate实现的jpetstore

    Struts、Spring 和 Hibernate 是Java开发中的...通过这个项目,开发者可以学习到如何将这三个框架集成,实现一个完整的MVC架构的Web应用。同时,这也是一个很好的实战练习,帮助理解各框架的核心功能和协同工作的方式。

Global site tag (gtag.js) - Google Analytics