什么是Servlet:
Servelt是在服务器端运行的Java程序,可以接收用户请求(request)并作出响应(response)(继承了HttpServelt)。
接下来主要学习下request和response这两种方法
request:获取客户端请求的数据
void setCharacterEncoding (String charset ):设置字符集
String getParameter ( String name ):接收前端传递来的数据(根据name)通过这个方法可以做增、删、改、查
String[ ] getParameterValues (String name ) :解决多选的问题、解决一个参数名多个值的问题
void setAttribute (String name, Object object ):
在请求中保存名称为
name
的属性
object getAttribute(String name):获取名称为
name
的属性值
RequestDispatcher getRequestDispatcher(String patth):
返回指向指定路径的请求分发对象
HttpServletRequest接口:
Cookie[ ] getCookies( ):
返回客户端在此次请求中发送的所有
cookie
对象
HttpSession getSession( ) :
返回和此次请求相关联的
session
,如果没有给客户端分配session,则创建一个新的
session
Response:
设置响应参数和向客户端发送响应数据
PrintWriter getWriter ( ):
返回
PrintWriter
对象,用于向客户端发送文本
void setCharacterEncoding (String charset ):
设置响应的字符编码
void setContentType ( String type ):
设置发送到客户端的响应的内容类型
HttpServletResponse接口:
void addCookie ( Cookie cookie ):
增加一个
cookie到响应中,这个方法可多次调用,设置多个
cookie
void sendRedirect(String location) :
发送一个临时的重定向响应到客户端,以便客户端访问新的
URL
- 存储数据的方式
- session(用服务器来存储数据,当用户第一次请求时会出现),生命周期、服务器通过sessionID来保持会话的
- 1.用户主动结束(手动关闭浏览器)
- 2.服务器重启、关闭、意外导致结束
- 3.会话超时:由于所有的数据都存在session这个资源中,如果一段时间不在发出新的请求,服务器将自动关闭这个资源
- 4.session失效:可以使用session中的invalidate这个方法让session失效
- cookie(用浏览器来存储数据),需要自己去new 的
- session和cookie的区别
- 1.存储的位置不同
- session:服务器
- cookir:浏览器
- 2.传的V的类型不同
- session的V是object类型的
- cookie的V是string类型的
- 3.生命周期
- session的生命周期是上面的4个
- cookie的则是设置的
- 4.安全
- session是安全的
- cookie是不安全的
- 1.存储的位置不同
- session(用服务器来存储数据,当用户第一次请求时会出现),生命周期、服务器通过sessionID来保持会话的
- Servlet的生命周期
- 1.项目被启动时开始(实例化)
- 2.初始化
- 3.服务(等待用户请求)
- 4.销毁