servlet技术中的核心对象
servletContext对象
服务器启动时会自动创建对象,服务器关闭时自动销毁对象,服务器运行期间,有且仅有一个对象。在代码中可以通过方法获取该唯一对象。
功能一:
可以处理全局的初始化参数(必须以配置的方式在xml文件或注解中添加数据)局部的初始化参数:数据的使用范围只有个servlet类,可以通过注解方式或xml文件进行配置(init);
全局的初始化参数:数据的使用范围没有限制,可以在整个模块下的任何位置使用数据库存储在ServletContext对象中,对象存在数据就可以使用,只能使用xml文件的方式配置。
功能二:作用域数据的使用
作用域:通过java代码的方式将键值对数据存放在某个对象中,对于这个对象称之为作用域对象,对于数据称之为作用域数据,如果对象存在数据就存在,就可以完成不同代码之间的数据共享。
ServletContext 对象的具体使用范围:
不同的servlet之间
不同的页面之间
不同的servlet和页面之间
不同的浏览器之间
不同的计算机之间
------服务器不关闭,数据可以在任何位置使用--------
HttpServletResponse对象:响应对象表示服务器端到浏览器的过程
1.响应状态码:表示服务器的运行状态
404:服务器路径错误,找不到目标
500:服务器端代码运行出现了问题,服务器发生了异常
200:表示服务器一切正常
2.手动的发送状态码(一般不使用)
sendError
3.响应对象自带了一个打印流,可以向浏览器输出内容
getwrite
4.解决响应中的中文乱码问题:
设置响应
response.setcontentypet(“text/html”;charset=utf-8)
HttpServletRequest对象:请求对象
1.独立的基本方法可以获取一些信息
2.获取请求中的请求参数数据请求参数:表示的是从浏览器传输到服务器端的键值对数据java.lang.String getParameter(java.lang.String name) 返回一个请求参数的字符串值。若该参数不存在,则返回一个空值。 java.lang.String[] getParameterValues(java.lang.String name)
返回一个包含所有的给定请求参数的值的字符串对象的向量。若该参数不存在,则返回一个空值。
3 //设置请求的字符编码
request.setCharacterEncoding(“UTF-8”);
4. 作用域对象,request对象可以存储键值对数据java.lang.Object getAttribute(java.lang.String name) 返回具有给动名字的servlet container 的属性,或者当没有具有所给名字的属性时,返回一个空值。
void removeAttribute(java.lang.String name) 从servlet context中删除带有给定名字的属性。 void setAttribute(java.lang.String name, java.lang.Object object) 绑定一个对象到在 servlet context中给定的属性名称。
存储在request对象中的数据使用范围是一次请求:请求+响应
Cookie对象:
cookie是唯一一个可以将键值对数据保存在浏览器硬盘中的一种数据。
cookie可以应用于购物车功能,记住账号密码,免登录…
cookie数据一旦保存和服务器就没有关系了
保存cookie:
//1.创建cookie对象,直接加载要保存的键值对
Cookie cookie1 = new Cookie(id,name);
//2.设置保存的cookie数据的有效时间 单位:秒
cookie1.setMaxAge(60);
//3.将cookie加入到响应对象中,保存数据
response.addCookie(cookie1);
//获取保存在硬盘中的cookie数据
Cookie[] cookies = request.getCookies();
目前使用的都是html静态页面,无法接收数据,可以使用jsp动态页面或模板处理前端,可以使用servlet中的打印流拼接页面。
Cookie数据和浏览器绑定在一起,不能跨越浏览器。