ServletContext存储对象后无法在重定向获取值

danwell7 2012-06-24 08:46:13
RedirectContext.java
@WebServlet("/RedirectContext")
public class RedirectContext extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("username");
ServletContext context = getServletContext();
context.setAttribute("name", name);
response.setStatus(302);
response.setHeader("location", "http://localhost:8080/web1/ToContextRedirect");

}

}
----------------------------------------------------------------------------------------------------------------------
ToContextRedirect.java
@WebServlet("/ToContextRedirect")
public class ToContextRedirect extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
ServletContext context = getServletContext();
String name = (String) context.getAttribute("name");
response.getWriter().write("welcome!" + name);

}
}

为什么通过ServletContext存储对象后,无法在重定向后的servlet中获取值,ServletContext表示当前应用程序的环境,重定向
后是两次不同的请求,但是运行的环境没有变化,怎么输出到浏览器的name为null????????
...全文
67 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨泽 2012-06-24
  • 打赏
  • 举报
回复
你的这个属性在设置的地方有值吗?调试过吗? 还是调试一下吧,看看在设置的地方有没有值

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧