JSP中的常见问题及一些源码分析

来源:互联网 发布:linux arm编译源码包 编辑:程序博客网 时间:2024/06/07 05:52

关于request.getParameter(),request.getParameter()这个方法只要是在一个请求中就可以拿到值.即不管你转发多少次都是可以拿到的,只要是在同一个请求转发中就行了

 

关于HttpServletResponse对象的sendRedirect(String location)方法和RequestDispatcher的forward(request, response)方法:

1. HttpServletResponse对象的sendRedirect(String location)方法称作重定向。如果location地址前面加上“/”,则表示相对于Servlet容器的根来请求,即http://localhost:8080,如果location地址前没有加上“/”,则表示相对于当前请求的URI来寻找地址。,这个可以从对文档的阅读中就可以得知
2. RequestDispatcher的forward(request, response)方法称作请求转发。
3. 请求转发与重定向的区别。
1)请求转发,整个过程处于同一个请求当中

2)重定向。实际上客户端会向服务器端发送两个请求。

3)RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。
4)sendRedirect()是HttpServletResponse对象的方法,即响应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。
5)重定向在FireBug中的示意图,可以看到是有两个请求的,即第一次请求之后发送回给客户端,然后客户端再请求

 

 

 

 

原创粉丝点击