request和response的区别

根据HTTP协议规范,Request 和 Response一样也有这些必不可少的内容!

所以需要首先了解 HTTP Message的概念和其内容的格式,这些东西对于Request和Reponse是一样的。

对于GET方式发送的请求,其内容类型为:null

对于POST方式发送的请求,其内容类型为:application/x-www-form-urlencoded

POST方式发送请求的内容类似于:username=xuejava.

RequestDispatcher.forward()和HttpServletResponse.sendRedirect()的区别是什么?

RequestDispatcher.forward()是在服务器端运行;HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成。

所以RequestDispatcher.forward()对于浏览器来说是“透明的”;而HttpServletResponse.sendRedirect()则不是。

另外,还要注意RequestDispatcher.forward()在调用的时候Response不能已经Commit了(Response.isCommitted())。

ServletContext.getRequestDispatcher(String url)和ServletRequest.getRequestDispatcher(String url)的区别是什么?为什么?

ServletContext.getRequestDispatcher(String url)中的url只能使用绝对路径;而ServletRequest.getRequestDispatcher(String url)中的url可以使用相对路径。

因为ServletRequest具有相对路径的概念;而ServletContext对象无次概念。

如何把请求转移到另外一个Web App中的某个地址?

ServletContext.getRequestDispatcher(String url)和ServletRequest.getRequestDispatcher(String url)只能把请求转移到同一个Web App中的地址。

如果需要把请求转移到另外一个Web App中的某个地址,可以按下面的做法:

1. 获得另外一个Web App的ServletConext对象(currentServletContext.getContext(uripath)).

2. 调用ServletContext.getRequestDispatcher(String url)方法。

你可能感兴趣的:(request和response的区别)