servlet生命周期:
1.创建servlet实例
2.当servlet实例化后,将调用这个对象的init()方法进行初始化
3.再调用对象的service()方法来处理请求,并返回处理结果,在调用service之前,
需保证init初始化已被成功执行
4.当需要释放servlet的时候,调用对象的destroy()方法来结束,并释放资源
单例 恶汉 懒汉 静态内部类
load-on-startup
request 获取行信息
getScheme:协议
getQueryString:?之后的信息
getMethod:请求方式
getContextPath:web应用目录
getReuqestURI 端口到?之间
getRequestURL?之前的信息
获取头信息 getHeader() 忽略大小写
获取网络信息
getRemoteAddr 客户端IP
getRemotePort 客户端端口
getLocalAddr 服务端IP
getLocalPort 服务端端口
request 获取参数
getParameter 得到表单域的值
getParameterValues 多个同名不同值的参数
getParamterNames
response 网页面写 字符串 html标签 js标签
response.setHeader("content-type", "text/html;charset=UTF-8");
response.addHeader("content-type","text/html;charset=utf-8");
setHeader() 里面忽略大小写
网页面写图片 response.getOutputStream()
构建响应体
response.getWriter() //输出文本使用
response.getOutputStream() //输出非文本使用(比如:下载)
request深入 作用域 范围
作用域 操作
setAttribute(“a”,”AAA”)设置属性
getAttribute(“a”)取得属性
removeAttribute(“a”)删除属性
getAttributeNames()返回枚举,对所有属性遍历处理
请求转发
request.getRequestDispatcher("loginPage").forward(request,response);
地址栏不改变,只能访问本web应用资源,整个过程是一次请求,
重定向
response.sendRedirect(URL);
地址栏改变,可以访问本web应用以外的资源,整个过程是两次请求
1.创建servlet实例
2.当servlet实例化后,将调用这个对象的init()方法进行初始化
3.再调用对象的service()方法来处理请求,并返回处理结果,在调用service之前,
需保证init初始化已被成功执行
4.当需要释放servlet的时候,调用对象的destroy()方法来结束,并释放资源
单例 恶汉 懒汉 静态内部类
load-on-startup
request 获取行信息
getScheme:协议
getQueryString:?之后的信息
getMethod:请求方式
getContextPath:web应用目录
getReuqestURI 端口到?之间
getRequestURL?之前的信息
获取头信息 getHeader() 忽略大小写
获取网络信息
getRemoteAddr 客户端IP
getRemotePort 客户端端口
getLocalAddr 服务端IP
getLocalPort 服务端端口
request 获取参数
getParameter 得到表单域的值
getParameterValues 多个同名不同值的参数
getParamterNames
response 网页面写 字符串 html标签 js标签
response.setHeader("content-type", "text/html;charset=UTF-8");
response.addHeader("content-type","text/html;charset=utf-8");
setHeader() 里面忽略大小写
网页面写图片 response.getOutputStream()
构建响应体
response.getWriter() //输出文本使用
response.getOutputStream() //输出非文本使用(比如:下载)
request深入 作用域 范围
作用域 操作
setAttribute(“a”,”AAA”)设置属性
getAttribute(“a”)取得属性
removeAttribute(“a”)删除属性
getAttributeNames()返回枚举,对所有属性遍历处理
请求转发
request.getRequestDispatcher("loginPage").forward(request,response);
地址栏不改变,只能访问本web应用资源,整个过程是一次请求,
重定向
response.sendRedirect(URL);
地址栏改变,可以访问本web应用以外的资源,整个过程是两次请求