session&request
1/session在整个回话期间都有效,假如浏览器开着不关闭,不管你发送多少次的请求,session的东西都 能拿到,但是当浏览器关闭之后,资源就释放掉了。
request只是一次请求 ,资源放到request范围之后,request过去response之后,就将资源注销了,服务器的空间就马上释放掉了。 如果放到session中,只要浏览器不管,session不超时, 服务器的资源空间一直被占用, 如果数据量大的话,服务器的资源消耗大, 就像一个对象的成员变量和方法变量一样,对于方法变量来时,方法调用完,方法变量被立即释放, 而对于成员变量来时呢,对象不消失,成员变量一直占用资源空间。 所以方法变量相当于设值到request范围一样, 而成员变量相当于设值到session范围一样。
2、get和post请求有什么区别。
get请求,请求的参数是放在http头部的,只允许256字节。
post请求时,参数是放在http的体部的,这是参数的不限,
http头部和体部的分隔界是一个回车换行。如下图
3、重定向和转发的区别:
a、转发不会改变浏览器的地址栏
b、转发共享同一个request
c、转发只能在同一个web应用中使用,
d、转发是在服务器端进行的。
4、重定向:
a、重定向会改变浏览器的地址栏
b、重定向不共享request
c、可以重定向到任意的URL(即使不是同一个网站,如baidu.com等)
4、请求转发:getRequestDispatcher()
If the path begins with a "/" it is interpreted as relative to the current context root
重定向:sendRedirect()
If the location is relative with a leading '/' the container interprets it as relative to the servlet container root.
转载于:https://my.oschina.net/wangfree/blog/93704