我是学Servlet的新手,这个程序是我为了学习敲出来的。
首先,页面上显示一个连接到百度的超链接。
然后往客户端写入cookie,一个cookie是3600秒的有效期,一个是不指定有效期的cookie
然后我读取刚才写入的cookie并显示。
我有两个问题:
问题1:我运行,它会报状态码为500的错误,好像写的是空指针异常,如果我删除从获取PrintWriter开始一直到最后for循环结束的代码,那就可以正常运行,这是为什么?
问题2:为什么正常运行时,我点击那个“go”的超链接,并不是连接到百度,而是连接到我的webapp项目下的www.baidu.com的文件?(因为我没有那个文件,所以报404)
- Java code
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.*;public class HelloWorldServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("doGet"); response.getWriter().write("<a href = 'www.baidu.com'>go</a>"); Cookie cookie = new Cookie("名字1", "值1"); cookie.setMaxAge(3600); response.addCookie(cookie); cookie = new Cookie("名字2", "值2"); response.addCookie(cookie); PrintWriter out = response.getWriter(); Cookie[] allCookie = request.getCookies(); for (Cookie c : allCookie) { out.println(c.getName() + " and " + c.getValue() + "<br/>"); } }}
------解决方案--------------------------------------------------------
<a href = 'http://www.baidu.com' target="_blank">go</a>试试行不
------解决方案--------------------------------------------------------