系统对象
是由容器(tomcat)已经创建好的,可以直接使用的对象
总结:
1.form表单的提交方式一般用post,可以解决中文乱码
2.在小脚本中输出变量的值:out.print("部门编号:"+dno);
3.重点:get 和post提交的区别
- post 表单提交 把表单内容封装成数据随网络提交,无法获取提交数据,相对安全
get 地址提交 把提交的内容存放在URL中,截取到URL后能够获取数据,不安全 - post提交速度比get慢,get提交效率高
- post提交的数据无大小限制,get方式提交数据限制在1024k以内
4.重点:使用request在两个不同页面之间传输数据
- 页面跳转方式1:重定向
response.sendRedirect("index.jsp");
重定向相当于客户端发送新的请求,HTTP协议而言不同请求之间不能共享数据 - 页面跳转方式2:转发
RequestDispatcher rd=request.getRequestDispatcher("index.jsp");
rd.forward(request, response);
服务器端在原请求内页面的跳转,页面之间数据可以共享
一.请求对象request:
获取客户端提交的内容
getParameter("表单标签的name");
获取name不重复的标签getParameterValues("表单标签的name")
返回值:String[] 获取name重复的标签setCharacterEncoding("utf-8");
设置获取时的编码方式为utf-8setAttribute("key",Object value);
把获取到value数据存在request中getAttribute("key")
获取到的是存放在request中的Object类型的value值getRequestDispatcher("index.jsp")
获取到的是转发的对象,之后进行跳转request.getCookies();
获取Cookies的对象数组,Cookie[]
二.响应对象response:
服务器向客户端响应内容
sendRedirect("index.jsp");
重定向页面跳转:客户端发送新的请求,在地址栏上显示的是重定向后的页面,在客户端进行页面跳转
addCookie(Cookie对象)
把创建好的cookie对象写入客户端
setContentType();
响应的编码模式
三. 会话对象session:
客户端的浏览器窗口和服务器之间的一次请求及相应
一次会话:
一个浏览器窗口与服务器之间的连接, 此浏览器中可以有若干个页面,无论页面之间是转发还是重定向,都能共享session数据.浏览器关闭,session失效
setAttribute("key",Object);
把获取到value数据存在session中getAttribute("key");
获取到的是存放在ression中的Object类型的value值session.setMaxInactiveInterval(1200);
设置session的有效期,秒为单位session.getMaxInactiveInterval();
获取session的有效期,秒为单位session.getId()
获取session的id值session.invalidate();
让session失效,所有存入session中的数据都清空session.removeAttribute("gufeng");
清除一个连接
四. 应用对象application:(全局)
tomcat中的共用的对象,记录公共资源:网站的访问次数
application.setAttribute("key",Object);
getAttribute("key");
Cookie(不是系统对象)
session 和Cookie的区别:
1、session 存放在服务器
Cookie 存放在客户端2、session更安全
3、session 可以存放任意类型
Cookie只能存放字符串
五.out 输出,测试使用,破环了文档结构
六.page对象 页面对象
获取JSP页面属性信息
七.pageContext对象
获取页面内声明的信息, 只在当前页面范围内有效
八.config对象 配置对象
获取servlet的配置信息
九.exception 异常对象:
内置对象存值的有效范围的大小
- pageContext
- request
- session
- application
session小例子:
1.
Page1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="doPage1.jsp" method="post">
<p>爱好:
<input type="checkbox" name="hobby" value="study"/>学习
<input type="checkbox" name="hobby" value="run"/>跑步
<input type="checkbox" name="hobby" value="sing"/>唱歌
<input type="checkbox" name="hobby" value="coding"/>编程
<input type="checkbox" name="hobby" value="play"/>游戏
</p>
<input type="submit" value="提交"/>
</form>
</body>
</html>
doPage1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
String[] aryHobby=request.getParameterValues("hobby");
for(String hobby:aryHobby){
out.println(hobby+"<br/>");
}
%>
Page2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
session.setAttribute("gufeng", "谷丰");
//设置session的有效期
session.setMaxInactiveInterval(1200);
response.sendRedirect("Page3.jsp");
%>
</body>
</html>
Page3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//设置session失效 ,所有存入session中的数据都清空
//session.invalidate();
//session.removeAttribute("gufeng");
%>
<%=session.getAttribute("gufeng").toString() %>
有效期:<%=session.getMaxInactiveInterval() %>
SessionId:<%=session.getId() %>
</body>
</html>