添加 Cookie 的时候报错NullPointerException

来源:互联网  时间:2016/7/2 13:17:55

关于网友提出的“ 添加 Cookie 的时候报错NullPointerException”问题疑问,本网通过在网上对“ 添加 Cookie 的时候报错NullPointerException”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 添加 Cookie 的时候报错NullPointerException
描述:

代码如下:
/> HttpServletResponse hsrResponse = null; //也不知道是不是这样子写,网上都是用个方法。 Cookie aCookie = new Cookie("cookieA","My cookie test");  aCookie.setMaxAge(60*60*24*7); hsrResponse.addCookie(aCookie); //执行到这里抛出 java.lang.NullPointerException 为什么 hsrResponse.addCookie(aCookie) 会报 java.lang.NullPointerException 异常啊?


解决方案1:

cookie的添加就是这种: Cookie cookie = new Cookie("key1", "value1");   
cookie.setMaxAge(-1);    cookie.setPath("/");    response.addCookie(cookie);  
<> 但是你这里用到了HttpServletResponse对于cookie进行跟踪, HttpServletResponse是ServletResponse的HTTP封装,是用于创建响应信息
而ServletResponse是Servlet程序与Servlet引擎进行通信的接口,Servlet通过ServletResponse对象将响应正文传递给Servlet引擎,再由Servlet引擎将响应正文输出到客户端,所以你可以直接用response.addCookie(cookie); 来添加cookie,但是你上面直接声明了个HttpServletResponse hsrResponse = null; 将它赋为null,那他就不同上面所讲的那个ServletResponse,你在用他来操作就会是空指针了

解决方案2:

要么就按6楼的朋友所说那样做。 写一个servlet ,让他继承 HttpServlet 重写 service 方法 。
/> 在service方法里面
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  Cookie aCookie = new Cookie("cookieA","My cookie test");  <>   aCookie.setMaxAge(60*60*24*7);   response.addCookie(aCookie); //这里直接用response,不用你去管这两个参数怎么来的,直接用就是了。 }

解决方案3:

HttpServletResponse hsrResponse = null; //也不知道是不是这样子写,网上都是用个方法 
这都为空 肯定不行啊 !

写一个servlet ,让他继承 HttpServlet 重新 service 方法 。 @Override public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}   service 方法 就有 你要的参数了。

上一篇js取值和赋值的问题
下一篇谁知道JSP网上书店(模仿当当书店的那个)怎么进入管理员操作
明星图片
相关文章
《 添加 Cookie 的时候报错NullPointerException》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)