JSP内置对象
包括:
- request请求对象
- response响应对象
- session会话对象
- application全局对象
- out输出对象
- config配置对象
- exception异常对象
- page页面对象
- pageContext页面上下文对象
JSP的这些内置对象其实都是由特定的JAVA类产生的,在服务器运行时根据情况自动生成。
request请求对象:
request对象包含的是客户端向服务器发出请求的内容,即该对象封装了用户提交的信息。
当客户端通过HTTP协议请求一个JSP页面时,JSP容器就会将请求信息包装到request对象中,即创建request对象;当JSP容器完成该请求后,request对象就会被撤销。
request对象可以获取请求对象中所包含的参数的值的方法有:getParameter、getParameterNames和getParameterValues
客户端向服务器发送数据时,通常采用GET方法和POST方法
注意:GET方法(从指定的服务器中获取数据)和POST方法(提交数据给指定的服务器处理)
1.get方法以显示提交表单可以在地址栏看见我们传的参数,post方法是隐形传值,不可见
2.get请求能够被缓存,post不行
3.get请求会保存在浏览器的浏览记录中,post不行
4.get请求有长度限制,post没有
5.后退或者刷新时,post数据会被重新提交,get没有影响
6.post方式请求乱码:
(1)方法一:request.setCharacterEncoding(“utf-8”);
(2)方法二:String name=new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),(“UTF-8”));
get方式请求乱码:
a)步骤一 :response.setCharacterEncoding(“utf-8”);
b)步骤二:String name=new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),(“UTF-8”));
request中setAttribute和getAttribute方法一般都是成对出现,首先通过setAttribute()方法设置属性与属性值,然后通过getAttribute()方法根据属性获取到与该属性对应的对象值
setAttribute和getAttribute方法都是在服务器端内部执行>
,客户端不知道服务器端是否执行过这两个方法
response响应对象:
response对象代表的是对客户端的响应,可以通过response对象来组织发送到客户端的数据
response对象的作用:
1.页面跳转
2.设置页面头信息
3.设置响应类型(MIME)
4.发送错误信息
5.向客户端写cookie
cookie
是一种能够让网站服务器把少量数据存储到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术(就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机)
1.创建cookie对象
Cookie cookie=new Cookie(“username”,username);
response.addCookie(cookie);
Cookie cookie1=new Cookie(“user”,user);
Cookie cookie2=new Cookie(“password”,password);
2.设置cookie的有效期
cookie1.setMaxAge(24*60*60*1000);
cookie2.setMaxAge(24*60*60*1000);
3.向客户端写cookie
response.addCookie(cookie1);
response.addCookie(cookie2);
4.读取cookie
String user=”“;
String password=”“;
Cookie[] cookies=request.getCookies();
JSP页面的跳转有两种方式:
1.客户端跳转:response.sendRedirect();
特征:地址栏中的地址会发生改变
不能用request对象传递数据
2.服务器端跳转:jsp:forward
特征:地址栏中的地址不会改变
能用request对象传递数据
常见错误代码:
200 - 服务器成功返回网页
404 - 请求的网页不存在
503 - 服务不可用
400 - (错误请求)服务器不理解请求的语法
500 - (服务器内部错误)服务器遇到错误,无法完成请求
动态响应contentType属性
再把输出结果传送到浏览器时,浏览器必须启动相应的应用程序来处理该文档
为了标识文档的类型,服务器通过HTTP报头的content-Type来指定
在JSP中,设定MIME类型的方法是通过response对象的setContentType()方法
服务器在发送真正的数据之前,会先发送标志数据的MIME类型的信息
session会话对象
session对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用
每个客户对应一个session对象
浏览器不关闭,session对象会一直存在,且session对象只有一个。如果浏览器关闭重启,会创建新的session对象
application全局对象
application对象用于在多个程序中保存信息。用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据
一旦创建application对象,该对象将一直保持下去,直到服务器关闭为止
application对象只有一个,他会被所有的用户共享