对于老师没教servlet直接给我们上手web开发框架,导致本人对servlet的request,response,servletsession,servletcontext等完全不了解,所以最近我学了下servlet。本人也是菜鸟总结如下:
浏览器和服务器的一些知识
浏览器 | 首先浏览器发起请求给服务器,请求中包括请求头,请求体,空行、请求数据 |
服务器 | 服务器接到请求就会响应浏览器,响应中包括响应头,响应体,响应行,响应数据 |
请求头 | 其中包括:Http协议、请求地址、请求方式 |
请求体 | 其中包括:消息报头、与一些附加信息 |
响应头也一样,不过重点是请求方式:get、post |
get | get请求是可以在URL中看到数据 |
post | post请求在URL中是看不到数据的 |
Servlet中的一些知识
httpservletrequest | 存着浏览器向服务器发送的数据,服务器接收到浏览器的请求后,会创建一个 Request 对象,对象中 存储了此次请求相关的请求数据。 |
htptservletresponse | 服务器在调用指定的 Servlet 进行请求处理的时候,会给 Servlet 的方 法传递两个实参 request 和 response。其中 request 中封存了请求相关的 请求数据,而 response 则是用来进行响应的一个对象 |
请求转发与重定向知识
请求转发 | 使用:request.getRequestDispatcher("要访问的servlet名或jsp").forward(request, response); | 优缺点:URL中可以看到数据,安全性不高 |
重定向 | 使用:response..sendRedirect("路径") | 优缺点:URL中看不到传送的数据,安全性高 |
问题:使用请求转发或重定向后,不同的 Servlet 之间进行数据的共享问题 |
使用:request.setAttribute(object name,Object value);设置下一个servlet要用的数据 使用:request.getAttribute(Object obj)得到要用的数据 |