java 建一个类,用来得到session和request
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 建一个类,用来得到session和request相关的知识,希望对你有一定的参考价值。
在一个项目中,有很多地方要用到session和request,从而在每个地方都要定义和getSession、getRequest,这样显得很麻烦,现在我想单独写一个类,里面有getSession、getRequest方法,可以写一个静态类吗?省得用的时候要构造,这样每次用的时候导一下那个类就可以了,本人写了久,getAttribute()时都得到的都是空指针。上面我所说的可以实现吗?麻烦高手帮在下写一个要求:一切从简,使用时能不构造就不构造。本人写的如下:package song.util;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;public class SesReq public static HttpSession getSession() return ServletActionContext.getRequest().getSession(); public static HttpServletRequest getRequest() return ServletActionContext.getRequest(); 请问有什么错误?
参考技术A 因为session和request是有作用范围的,在同一次请求(request)和同一次会话(session)中,才能得到你保存的session和request对象。要实现你想要的这个效果可以这样:在你的SesQeq类写成Servlet类,然后在web.xml文件对应的Servlet中加入<load-on-startup>1</load-on-startup>就可以了这个配置表示该Servlet在服务器启动的时候就加载。 <servlet>
<servlet-name>...</servlet-name>
<servlet-class>...</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
java HashSet改用
写的一个Student类如下:
上面是直接使用的HashSet集合,系统会把new Student() 当做地址不用来出来,所以结果如下:
然后我在Student类中重写了hashCode()和equals()方法,
然后再在main程序中,新建HashSet集合,并对里面存放相同属性,不同地址的对象
然后执行,得到的结果如下:
实现了我们的需求。同时会发现,最上面建的 hs 集合,存放的元素也会不重复的,因为我们的HashSet的中的add()方法会自动的调用添加对象的这两个方法。源码里实现了。
以上是关于java 建一个类,用来得到session和request的主要内容,如果未能解决你的问题,请参考以下文章