对于servlet doGet() or doPost()的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 15:19:20
我对于goGet(HttpServletRequest req,HttpServletResponse res)之类方法的参数不是很理解
HttpServletRequest是传进来的参数,那HttpServletResponse不是服务器返回的数据吗?一个是“进来”,一个是“出去/返回”。作为参数不是应该扮演“传进来”角色的吗,为什么HttpServletResponse会作为这个方法参数呢?
我很清楚括号里的参数肯定是传进来的值,问题是这个ServletResponse,根据ServletResponse定义是Servlet向客户端返回的响应,那不是矛盾吗?参数肯定是需要处理的数据,响应是处理的结果,怎么把响应当作参数放到方法中呢,ServletResponse它的产生和流向是怎样的?

HttpServletRequest,HttpServletResponse只是java-servlet下的两个类,其英文名字是传入,传出但是其在servlet中其到的作用是这样的:
HttpServletRequest:接受从jsp 传过来的值,到你的servlet中进行处理,处理完成后,还可以通过HttpServletRequest.setAttribute()方法将值再次封装,然后传递回jsp.
HttpServletResponse:提供一系列传出的方法的类,如地址跳转,向指定目的发送流等。
综上所述,他们的英文翻译虽然是传入传出,但是你绝对不要误会!他们只是servlet中的两个类,通常用request来保存值,获取session,用response来做页面转向。
你的明白?

首先这个是SERVERLET固定的写法。
其次,这个并不是 想你理解的那样,“参数传入,参数传出的意思”,只不过是英文的含义是“传入,传出”,但是在JAVA的函数(或者称为方法),括号里的参数都是传入的参数,只不过是类型的不同而已。
最后,这个可以这样理解,传入的参数就是两条路,打开两条路,让JAVA内部的数据流通过的意思。

服务器与客服端之间的通信就要用管子在两个木桶之间传水,HttpServletRequest就是从客户传过来的水,而HttpServletResponse则是管口,只要你向里面倒水,然后提高管口,水就会到客户端了。
--提高管口就是调动HttpServletResponse相关的方法。