servlet基础知识2

来源:互联网 发布:知乎华为mate10 编辑:程序博客网 时间:2024/06/05 05:51

doget()和 dopost()方法


doget()和 dopost()方法和service()方法的关系

在servlet中默认情况下,无论你是get还是post提交过来都会经过service()方法来处理,然后转向到doGet 

service()方法中会通过:request.getMethod(); 来判断出页面是get提交还是post提交;




doget(),dopost() 方法中  HttpServletRequest request, HttpServletResponse response两个参数的作用:

可以获取页面url 和urd

可以获得浏览器信息和电脑信息等;




改变request 参数的值:

request.setAttribute("name",name);   改变 request 的值

request的转发和重定向


转发    :request.getRequestDispatcher("/跳转的页面").forward(request,response);   地址栏不会改变
return;

重定向 : response.sendRedirect("/跳转的页面");       地址栏会改变
return;

转发和重定向的区别:

区别一:


重定向时浏览器上的网址改变
转发是浏览器上的网址不变
forward 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来,然
后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中
还是原来的地址。
redirect 就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器
会用刚才请求的所有参数重新请求,所以session,request 参数都可以获取。


区别二:


重定向实际上产生了两次请求
转发只有一次请求


 



原创粉丝点击