Reputation: 357
In a JSP page, when the user logs out, I'm deleting their login cookies using this code:
Cookie killMyCookie = new Cookie("cookie1", null);
killMyCookie.setMaxAge(0);
killMyCookie.setPath("/JSPLearn");
response.addCookie(killMyCookie);
killMyCookie = new Cookie("cookie2", null);
killMyCookie.setMaxAge(0);
killMyCookie.setPath("/JSPLearn");
response.addCookie(killMyCookie);
After this, I'm calling
response.sendRedirect("index.jsp");
It's throwing a NullPointerException.
Why would response be null?
Stacktrace:
java.lang.NullPointerException
at java.net.URLEncoder.encode(URLEncoder.java:205)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:175)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)
Upvotes: 1
Views: 4614
Reputation: 14877
The answer lies at
org.apache.jsp.index_jsp._jspService(index_jsp.java:175)
I think you are trying something like URLEncoder.encode
and first argument which is string to be encoded is Null and it is throwing java.lang.NullPointerException
It should be something like
URLEncoder.encode("Hello World", "UTF-8");
Upvotes: 1
Reputation: 413
check your index.jsp file I think you have a requet.getParameter(""); for a variable and when you use redirect you should send a value for that variable.
Upvotes: 1