session&request

1/session在整个回话期间都有效,假如浏览器开着不关闭,不管你发送多少次的请求,session的东西都 能拿到,但是当浏览器关闭之后,资源就释放掉了。

request只是一次请求 ,资源放到request范围之后,request过去response之后,就将资源注销了,服务器的空间就马上释放掉了。 如果放到session中,只要浏览器不管,session不超时, 服务器的资源空间一直被占用, 如果数据量大的话,服务器的资源消耗大, 就像一个对象的成员变量和方法变量一样,对于方法变量来时,方法调用完,方法变量被立即释放, 而对于成员变量来时呢,对象不消失,成员变量一直占用资源空间。 所以方法变量相当于设值到request范围一样, 而成员变量相当于设值到session范围一样。

2、get和post请求有什么区别。

get请求,请求的参数是放在http头部的,只允许256字节。

post请求时,参数是放在http的体部的,这是参数的不限,

http头部和体部的分隔界是一个回车换行。如下图

session&request

 

3、重定向和转发的区别:

a、转发不会改变浏览器的地址栏

b、转发共享同一个request

c、转发只能在同一个web应用中使用,

d、转发是在服务器端进行的。

session&request

 

4、重定向:

a、重定向会改变浏览器的地址栏

b、重定向不共享request

c、可以重定向到任意的URL(即使不是同一个网站,如baidu.com等)

session&request

 

 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