3.JSP及系统对象

系统对象

是由容器(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-8
  • setAttribute("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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值