我一直在搞乱 servlet 和 JSP,但我对某些事情感到有些困惑:
我制作了一个 servlet(控制器),它将请求分派给 JSP
我在我的 servlet 中使用 setAttribute() 方法为请求对象设置了一些属性。
我可以毫无问题地在 JSP 中访问请求对象的参数和属性
。现在,我使用
session.setAttribute("test", request) 将请求对象作为属性存储在会话对象中。我编写了第二个 JSP(
当我单击特定按钮时,将通过 Javascript 从第一个 JSP 导航到它 - 通过使用 window.location 函数并将
第二个 JSP 的地址作为值)- 在第二个 JSP 中,当我从会话对象中检索请求对象时,我从检索到的请求对象的
所有属性中获得了一个空值。 - 只有当我
在我的第一个 JSP 中使用 request.getParameter() 方法至少检索了一次参数时,我才能访问检索到的请求对象的参数,
否则它们在我的第二个 JSP 中返回 null。
我对这些东西真的很陌生,并且对这种行为感到困惑。为什么我的请求对象的属性被“删除”而参数保持不变(只要我在我的第一个 JSP 中访问了参数;这对我来说更令人困惑,因为它没有意义 IMO)
任何解释将不胜感激!提前谢谢你。