如果应用了Struts 1.x框架,那么在任何一个Action被访问之前,都会经过ActionServlet来控制转向,ActionServlet类中在接收到我们客户端的请求(*.do)后(之前会做一系列初始化工作),并不是直接去处理我们的请求并调用相应的Action,而是将处理工作交给RequestProcessor类,其process方法中会调用一系列的方法来完成相应的请求处理和转向操作,其中有一个processLocale()方法,在第一次请求时会创建session对象,而当请求转发到我们的Action时,无论如何,session对象已经存在了。
所以默认情况下,无论我们使用request.getSession()[等同于request.getSession(true)],还是request.getSession(false),都一定会得到一个session对象,而不可能是null。
换句话说,默认情况下,我们是不用故意写request.getSession(false)的,没意义。
如果不希望ActionServlet默认创建session,而由我们自己控制session的创建的话,可以通过struts-config.xml文件的配置实现。
<controller locale="true"></controller>,这个配置如果我们没有添加在struts-config.xml中,则默认相当于locale="true"
如果我们要ActionServlet默认不创建session,那么就设置locale="false"就可以了。
本文是我抄自来自CSDN博客http://blog.csdn.net/wts/archive/2009/12/31/5111617.aspx
分享到:
相关推荐
在 Struts2 中,要使用 Session,需要实现 SessionAware 接口,该接口提供了一个 setSession 方法,用于将 Session 对象传递给 Action。在 Login.java 文件中,我们可以看到,Login 类实现了 SessionAware 接口,并...
本资源"struts2_session_权限检查并控制重复登录源码"提供了一个具体的实现方案,下面我们将深入探讨相关的知识点。 1. **Struts2框架**:Struts2是Apache软件基金会下的一个开源项目,它基于MVC设计模式,提供了...
在"testStruts1_001"这个示例项目中,我们可以看到如何实际应用上述概念。项目可能包含以下组件: - Action类:实现CRUD操作和业务逻辑调用。 - Form Bean:用于数据传输和验证。 - Filter配置:在web.xml中定义和...
在Struts2框架中,对request和session的管理和获取是实现Web应用中用户交互和状态维护的重要手段。本文将深入探讨Struts2中如何获取request和session,以及这两种对象的作用和应用场景。 ### Struts2框架简介 ...
总结来说,Struts2提供了多种途径来访问和管理request、session和application的数据,包括ActionContext、ValueStack、OGNL和拦截器。掌握这些方法将有助于提高开发效率和代码质量,同时也能更好地理解和优化基于...
在Struts2框架中,拦截器(Interceptor)是实现业务逻辑和控制流程分离的重要工具,它允许开发者在执行Action之前或之后执行某些操作,比如验证用户登录状态。在这个案例中,我们讨论的是如何使用拦截器来检查用户的...
Session是Web应用程序中的一种会话管理机制,用于跟踪用户状态。当用户登录后,服务器会为该用户创建一个唯一的Session对象,并将其存储在服务器内存中。客户端通过Session ID(通常存储在cookie中)来标识其对应的...
1. **依赖注入**:首先,确保Action类继承自Struts2提供的`ActionSupport`类或自定义的Action支持类,并且已经添加了对session的支持。通常,我们会在Action类上使用`@SessionAttributes`注解,这样Spring MVC会自动...
相比于其前辈STRUTS1,STRUTS2在设计上更为灵活、模块化,并且更加易于集成其他技术,如Spring和Hibernate。STRUTS2利用拦截器(Interceptor)的概念来处理请求,使得开发者能够更专注于业务逻辑的编写,而不是框架...
Struts1、Spring1和Hibernate3是经典的Java Web开发框架组合,它们在2000年代中期至晚期广泛应用于企业级应用系统,包括新闻管理系统的后台开发。这个组合被称为“SSH”(Struts、Spring、Hibernate)框架集成,为...
1. **配置拦截器**:在struts.xml配置文件中,我们需要添加tokenSession拦截器到相应的action配置中。例如: ```xml <interceptor name="tokenSession" class="org.apache.struts2.interceptor....
Struts2 是一个基于 Java 的开源 Web 开发框架,它继承了 Struts1 的优秀特性并进行了改进,提供了更加灵活和强大的功能。在 Struts2 中,处理用户请求时经常需要使用到 Servlet 的内置对象,比如 Request、Session ...
【标题】"Struts1+Hibernate+Spring的企业信息管理系统"是一个经典的Java企业级应用架构,它结合了三个关键的技术框架,以实现高效、模块化且易于维护的后端开发。Struts1作为MVC(模型-视图-控制器)框架,负责处理...
Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中。在Struts2中,访问Web资源,如application、session和request,是常见的操作,这有助于实现数据共享和传递。本示例代码将帮助...
视频第二部分共两部分 下载前请阅读博客文章详细 博文链接:https://dlivan.iteye.com/blog/68374
总的来说,"Struts2的综合应用"这个实例涵盖了Java Web开发中的多个重要技术点,包括Struts2框架的使用、数据库操作、JSP页面展示以及MVC设计模式的应用。通过对这个项目的理解和实践,开发者可以深入掌握Struts2的...
综上所述,"商品管理 ssh struts2"项目是一个典型的SSH整合应用实例,它通过Struts2处理请求,Spring管理对象和事务,Hibernate处理数据库操作,以及Maven进行项目构建。这样的组合使得开发者能更专注于业务逻辑,而...
Struts1是一个经典的Java Web框架,它为开发者提供了一种结构化的MVC(Model-View-Controller)设计模式实现方式,极大地简化了Web应用的开发。在这个“struts1小案例”中,我们将会深入探讨如何结合Hibernate ORM...
下面将详细阐述Struts1的相关知识点。 1. **MVC架构**:MVC是一种设计模式,用于分离应用程序的业务逻辑、数据模型和用户界面。在Struts1中,Action类代表Controller,Form Beans代表Model,JSP页面则作为View来...
Struts1+DataSource网络文件管理系统是一款基于Java Web技术构建的应用,主要用于实现文件的上传、下载以及用户管理功能。在这个系统中,Struts1框架作为MVC(Model-View-Controller)设计模式的实现,用于处理用户...