web xml-如何在dao和service中获得session和request

问题描述

如何在dao和service中获得session和request

在DAO层中需要insert一条record,这条record需要记录当前用户(该记录是由谁创建的),对于这样的应用,我们一般可以在Action层中通过request拿到session里的用户账号,然后传入service,再传入DAO层。思路是这个!
可是我们公司,用了一个工具类
public class SessionHelpUtils {

/**
 * @return
 * @Description:获得当前session
 * @return: HttpSession
 */
public static HttpSession getSession() {
    HttpSession session = ((ServletRequestAttributes)RequestContextHolder
            .getRequestAttributes()).getRequest().getSession();// 获得当前session
    return session;
}

}
网上说用这个方法还得在web.xml中注册

org.springframework.web.context.request.RequestContextListener

可是我公司中没有这注册这个啊!我就迷糊了,我是新手。
我问了人,他们说什么这个request,session是全局的,什么单点登录。我是没搞懂!晕乎啊!我之前都是看你的spring-mvc文章的。

我知道肯定不能再service或者dao的里面参数加上request,那就不规范了。

我纠结的问题是第一,我们公司没有注册RequestContextListener,只注册了ContextLoaderListener啊!
第二,这个方法获得的request,session不就是我请求action的里面的request和session。怎么和全局什么的扯了起来。我问的那个人说,这个工具类是获取所有共享的request和session。我就更蒙了。

解决方案

struts2框架的action强调的是同servlet API完全分离,显得于struts1是一个巨大进步,这种飞耦合性,给开发者的测试提高了便利。但是,struts2框架中有一个ActionContext类,该类包含所有将会访问的数据,struts2框架的action可通过访问ActionContext来获得Servlet API

HttpServletReqest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
HttpSession session=request.getSession();
session.setAttribute("str","abc");

解决方案二:

一楼是基于Struts2框架的,赞同2楼~

时间: 2024-12-24 21:31:29

web xml-如何在dao和service中获得session和request的相关文章

ASP.NET Web Service中使用Session 及 Session丢失解决方法 续

原文:ASP.NET Web Service中使用Session 及 Session丢失解决方法 续 1.关于Session丢失问题的说明汇总,参考这里 2.在Web Servcie中使用Session,需要对Web Method做如下处理 [WebMethod(EnableSession = true)]public void usingSession(){    Session["Name"] = "Name";}   如果不加EnableSession = t

session-Hibernate中的Session Per Request,谁能够详细解释一下

问题描述 Hibernate中的Session Per Request,谁能够详细解释一下 Hibernate中的Session Per Request,谁能够详细解释一下

如何在SharePoint 2010程序中使用Session

很多开发人员喜欢在ASP.NET程序中使用Session,用它来记录当前登录用户的一些信息.但是在SharePoint 2010系统中,默认是禁用Session功能的.如果在一个应用程序中使用了Session,你很可能会发现代码会抛出一个"引用的对象没有实例化"异常.如果通过Visual Studio调试一下代码,就能发现HttpContext.Session属性返回的是null. 要在一个SharePoint 2010程序中使用Session,开发人员会面临一些潜在的问题.Share

JavaWeb工程中web.xml基本配置

一.理论准备         先说下我记得xml规则,必须有且只有一个根节点,大小写敏感,标签不嵌套,必须配对. web.xml是不是必须的呢?不是的,只要你不用到里面的配置信息就好了,不过在大型web工程下使用该文件是很方便的,若是没有也会很复杂.         那么web.xml能做的所有事情都有那些?其实,web.xml的模式(Schema)文件中定义了多少种标签元素,web.xml中就可以出现它的模式文件所定义的标签元素,它就能拥有定义出来的那些功能.web.xml的模式文件是由Sun

在java中web.xml的问题

问题描述 在java中web.xml的问题 如上面两张图所示,为什么会出现这样的问题~~~ 解决方案 关于servlet3.0版本java dynamic web工程中找不到web.xml的问题web.xml版本差异的问题java中web.xml的url-pattern配置问题 解决方案二: 后边的尖括号少/,应该/> 解决方案三: 看错了-_-||.. 解决方案四: 正确的不应该是这么写的吗<?xml version=""1.0"" encoding=

Tomcat中用web.xml控制Web应用详解

web|xml|控制|详解 1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义).所有部署描述符文件的顶层(根)元素为web-app.请注意,XML元素不像HTML,他们是大小写敏感的.因此,web-

用web.xml控制Web应用的行为

web|xml|控制 1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义).所有部署描述符文件的顶层(根)元素为web-app.请注意,XML元素不像HTML,他们是大小写敏感的.因此,web-App

死磕Tomcat7源码之一:解析web.xml

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dba10g.blog.51cto.com/764602/1775723 熟悉java web开发的同学都清楚,tomcat作为一款非常流行的servlet容器,开源,流行,配置简单,不需要赘述.个人认为,web.xml作为webapp的入口,弄清楚该文件的底层解析过程,进而可以窥探tomcat的底层工作机制,搞明白tomcat对servlert规范的实现机理. 通过本文,可以知

符合j2ee标准的web application + web.xml

首先,提出一个问题,到底符合j2ee标准的web 应用程序是什么样的? 其实,我们看到的,就是一个目录.而他的目录结构是基本固定的: 1.WEB-INF  --这是对这个web的描述.在此目录下,会有如下文件:             web.xml   此文件必须的,该web app的配置文件.             lib     此文件可以有,该web app需要的库文件.             classes     可以有,存放编译好的servlet 文件. 2.META-INF