javaWeb4 jsp 内置对象

jsp 内置对象:9种
一、out:负责管理对客户端的输出
二、request:负责得到客户端的请求信息
三、response:负责向客户端发出响应
四、session:负责保存统一客户端一次会话过程中的一些信息
五、application:表示整个应用的环境的信息
六、exception
七、page
八、pageContext
九、config


一、out
out.println()
out.print()
二、request
String getParameter(String name)
String[] getParameterValues(String name)
三、response
1.response.sendRedirect(目标页面路径) 进行重定向  与jsp:forward的区别与联系
2.设置HTTP头   response.setHeader("Refresh","5"); 页面每隔5秒刷新一次


《插》Cookie操作
Cookie是一个小的文本数据,由服务器生成,发送给客户端,保存在客户端。下次登录同一网站,客户端浏览器会自动将Cookie读入,传给服务器。Cookie中以key-value的形式保存值,如账号-密码。

cookieP1.jsp
<%@ page language="java" import="java.util.*" 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>b保存Cookie</title>
</head>
<body>
	<%
		String str = "12";
		int number = Integer.parseInt(str);
	%>
	该数字的平方为:<%= number*number %> <hr>
	<%
		//将str存入Cookie
		Cookie cookie = new Cookie("number",str);
		//设置Cookie的存活时间为600秒
		cookie.setMaxAge(600);
		//将Cookie保存于客户端
		response.addCookie(cookie);
	%>
	<a href="cookieP2.jsp">到达P2</a>
</body>
</html>

cookieP2.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>显示Cookie内容</title>
</head>
<body>
	<%
		String str = null;
		Cookie[] cookies = request.getCookies();
		for(int i=0; i<cookies.length; i++){
			if(cookies[i].getName().equals("number")){
				str = cookies[i].getValue();
				break;
			}
		}
		int number = Integer.parseInt(str);
			
	%>
	该数字的立方为:<%=number*number*number %><hr>
</body>
</html>
四、session
百度翻译中解释为:n.开会,会议; (法庭的) 开庭; 会期,学期; (进行某活动连续的) 一段时间;
在jsp中,session是跨页面保持的,当一个用户访问网站时,服务器会分配一个session给该用户使用。对于一个用户,不管在哪个页面,他使用的都是
同一个session。
session对应的类是javax.servlet.http.HttpSession。可以通过查文档来了解session了API。
文档:http://tool.oschina.net/apidocs/apidoc?api=javaEE6
1.利用session开发购物车。
(1)将内容放入购物车。
void setAttribute(java.lang.String name, java.lang.Object value) 
          Binds an object to this session, using the name specified.
参数1:name是设置对象的属性(attribute)的名字(标记)
参数2:value 对象本身
(2)读取购物车的内容
 java.lang.Object getAttribute(java.lang.String name) 
          Returns the object bound with the specified name in this session, or null if no object is bound under the name.

session1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<!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>将内容放入购物车</title>
</head>
<body>
<%
	ArrayList<String> books = new ArrayList<String>();
	books.add("三国演义");
	books.add("西游记");
	books.add("水浒传");
	//将books放入session
	session.setAttribute("books", books);
%>
<a href="session2.jsp">查看购物车</a>
</body>
</html>

session2.jsp
<%@ page language="java" import="java.util.ArrayList" 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>读取购物车中的内容</title>
</head>
<body>
购物车中的内容为:
<hr>
<%
	//从购物车中取出books
	ArrayList<String> books = (ArrayList)session.getAttribute("books");
	//遍历books
	for(int i=0; i<books.size(); i++){
		String book = books.get(i);
		out.println(book+"<br>");
	}
%>
</body>
</html>




五、application对象
session是被同一个客户在网站的一次会话过程共享,不同的客户的session不同。
application对象是服务器端的对象,它对于不同的客户也是相同的。服务端启动后会自动创建一个application对象,这个对象会一直保存,直到服务器关闭为止。


application对应的类是javax.servlet.ServletContext


案例:显示一个页面被访问的次数(显然这个次数应该是所有客户共享)

<%@ 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>application测试</title>
</head>
<body>
<%
	Integer count = (Integer)application.getAttribute("count");
	if(count == null){
		count = new Integer(0);
	}
	count++;
	application.setAttribute("count", count);
%>
您是该页面的第<%=count %>个访问者
</body>
</html>

每多一次访问,count的值就加1

































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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值