java - 基于MVC请求的数据共享失败,基于会话的数据

  显示原文与译文双语对照的内容
0 0

我的jsp页面可以访问一个 bean,如下所示:

<jsp:useBean id="myBean" 
 type="myPackage.beans.MyBean" 
 scope="session"/>

如果我将作用域更改为"请求"tomcat,则抛出异常: javax.servlet.ServletException: java.lang. InstantiationException: 在作用域内找不到 bean myBean

但是,我通过从一个servlet转发来访问我的jsp页面,如下所示:

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/MyJsp.jsp"); dispatcher.forward(request, response);

我认为上面的转发将导致 MyJsp.jsp 继承原始的servlet,请求对象,因这里myBean应该可以用( 它的创建,然后使用 session.setAttribute("myBean", myBean) 在原始servlet中存储) 。 这不正确- 为什么会话作用域请求成功时请求作用域失败?

时间:原作者:

0 0

这不正确- 为什么会话作用域请求成功时请求作用域失败?

不,你不对。

请求对象只对当前请求可用,requestsession 对象之间没有通信

要使你的对象在请求中可用,应使用

request.setAttribute("OBJname", Object) 在调度到你的视图之前

原作者:
...