request对象的一点问题

z466459262 2009-08-08 11:54:04
问题1:想问问这个对象是在客户端存在,还是在服务器端存在,还是两端都有?

问题2:如果我在客户端填写一个表单,然后按提交,是不是把客户端的request对象也传了过去,换句话说就是客户端和服务器端的request里面所有参数一样,是吗??

问题3:如果不一样,我是不是可以先在服务器端的request先设置上一些值(比如struts中在ActionServlet被初始化时,他会把相应的ActionForm也初始化放到这样的地方,比如:scope="request"时,把ActionForm设置进request),然后客户端发个表单过来,我还可以用服务器端的request再拿到其他的值

问题4:服务器端有多少个request,怎么把客户端的request和服务器端的request对应上,但我又听说request是一块临时区域,搞不清了?????

以上其实是在学struts时的一点疑问,因为我看struts的源代码时看到
ActionForm instance = lookupActionForm(request, attribute, mapping.getScope());
private static ActionForm lookupActionForm(HttpServletRequest request, String attribute, String scope)
{
ActionForm instance = null;
HttpSession session = null;
if ("request".equals(scope)) {
instance = (ActionForm) request.getAttribute(attribute);
//说明这个东西早已在request中了,只是值是空的而已
} else {
session = request.getSession();
instance = (ActionForm) session.getAttribute(attribute);
}

return (instance);
}
...全文
66 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
soulx 2009-08-08
  • 打赏
  • 举报
回复
LZ可以了解下HTTP及它的内部机制,这个问题应该就明白了。
xuexijava 2009-08-08
  • 打赏
  • 举报
回复
Mark
crazyboy52055 2009-08-08
  • 打赏
  • 举报
回复
Socket 学过没??
了解Socket的话 基本差不多就了解了 网络传输的 这样的过程。。。
wzlsquall 2009-08-08
  • 打赏
  • 举报
回复
>问题1:想问问这个对象是在客户端存在,还是在服务器端存在,还是两端都有?
如果强调的是request对象,我认为request对象只是存在于服务器端,客户端完成的只是一个request动作。

>问题2:如果我在客户端填写一个表单,然后按提交,是不是把客户端的request对象也传了过去,换句话说就是客户端和服务器端的request里面所有参数一样,是吗??
客户端传递个服务器端的是按照http协议封装好的数据流,你可以把它看做简单的数据流。当服务器端接受到这个数据流之后,再按照http协议将它解析成我们所说的request对象,这个对象中就包含了form中的信息,还有其他的一些header信息。

>问题3:如果不一样,我是不是可以先在服务器端的request先设置上一些值(比如struts中在ActionServlet被初始化时,他会把相应的ActionForm也初始化放到这样的地方,比如:scope="request"时,把ActionForm设置进request),然后客户端发个表单过来,我还可以用服务器端的request再拿到其他的值
如果你想学习一些基础的东西,还是建议你看些jsp和servlet的资料,struts对基本的servlet规范进行了进一步封装,对request的处理也封装了。就你的这个问题而言,如果scope被设定为"request",那么对于客户端的每一次请求,都将重新生成一个actionform来保存form中的值。

>问题4:服务器端有多少个request,怎么把客户端的request和服务器端的request对应上,但我又听说request是一块临时区域,搞不清了?????
我觉得这个问题无法回答,服务器端会对每一次客户端发送过来的请求生成一个相应的request对象,对于这次请求的处理结束之后,request对象将被销毁。客户端需要的信息由response对象发送。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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