JSP的九个内置对象

内置对象有:
request
response
session
application
out
config
pagecontext
page
exception

request

只能在客户端跳转

Request对象的作用:
口获取客户端可通过HTML表单或在网页地址后
面提供参数的方法提交的数据
口在作用域中管理属性
口获取客户信息
口获取cookie
request 对象:
口request对象常用方法
口String getParameter(String name)
根据页面表单组件名称获取请求页面提交数据
口String[ ] getParameterValues (String name)
获取页面请求中一个表单组件对应多个值时的用户的请求数据
表单及常用标签:

  口<form> 标签的作用:
  <form>标签用于定义表单以及如何提交表单中的数据,主要的提交方法有POST和GET两种。
  <form method="POST" action="search.jsp"> ... </form>
  口<input> 标签的作用:
  <input>标签通常用来存储和捕获表单数据,它们可以分成以下两类:
  口基本类型的<input>,例如:
  <input type="text" name="xx" value="yy">
  <input type="password" name="xxx" value="yyy">016
  <input type="radio" name="Xx" value="yyy">
  口提交类型的<input>,例如:
  <input type="submit" value="提交”>

get和post方法的区别:
口get请求将表单内容作为URL的一部分发送。
口post请求将表单内容附加到HTTP请求的末尾发送
口大多数Web服务器将get请求查询字符串限定在1024个字符以
下,为避免这一限制,请用post请求
口包含许多字段的表单通常使用post请求。密码等敏感表单字段通
常用post请求发送。
中文乱碣処理:
post请求:
request. setCharacterEncoding (“gb2312");対请求迸行統一
的编码
get请求:

String  name=new String ( request. getParameter(“name") . getBytes (“IS08859-1"),“UTF-8")

request对象实例:
口使用request对象进行JSP编程
需求:某网站注册时,需要输入注册信息,请编写JSP页面供用户输入,并获取用户输入的数据。注册信息包括用户名、密码
确认密码、性别、 爱好、学历和个人简介等主题。分析:
1、编写一个JSP页面,提供用户输入的表单组件。
2、编写另一个JSP页面,获取用户提交的请求数据,并
显示出来。

response

Response对象的作用:
口重定向网页
口设置HTTP响应报头
口向客户端写Cookie

//客户端跳转
response.sendRedirect("request-getAttribute.jsp");

在这里插入图片描述
contentType属性

<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> 
<meta http-equiv="refresh" content="1">
<title>Insert title here</title>
/* 第一步:创建cookie对象 */
    	Cookie cookie1=new Cookie("username",name);
    	Cookie cookie2=new Cookie("password",password);
    	/* 第二部 设置有效期 */
    	cookie1.setMaxAge(7*24*60*60);
    	response.addCookie(cookie1);
    	response.addCookie(cookie2);
<!-- 读取cookie -->
<%
String username="";
String pwd="";
Cookie[] cookies=request.getCookies();
for(Cookie cookie:cookies){
	if("username".equals(cookie.getName())){
		username=cookie.getValue();
	}
	if("password".equals(cookie.getName())){
		pwd=cookie.getValue();
	}
}
%>

sessions

对象
getid()方法
setAttribute(“name”,value);
getAttribute(“name”) 返回值object
removeAttribute(name);
setMoaxlnactiveInterval();最长不活跃时间
invalidate()失效

在这里插入图片描述

session:多个商品:集合类 List Set HashMap
ArrayList 篮子
第一次购物:
ArrayList car=new ArrayList();
Car.add(good);
Session.setAttribute(“car”,car);
第>=1次购物:
car=session.getAttribute(“car”);
car.add(good);
session.setAttribute(“car”,car);
if(car=null){
}else{
}

<body>
<%
	request.setCharacterEncoding("utf-8");
	String good=request.getParameter("goodname");
	ArrayList car=null;
	car=(ArrayList)session.getAttribute("car");
	if(car==null){
		car=new ArrayList();
		if(good!=null&&!good.isEmpty()){
			car.add(good);
		}
		session.setAttribute("car", car);
	}else{
		if(good!=null&&!good.isEmpty()){
			car.add(good);
		}
		session.setAttribute("car", car);
	}
	car=(ArrayList)session.getAttribute("car");
	if(car!=null){
		for(int i=0;i<car.size();i++){
			out.print(car.get(i)+"<br>");
		}
	}
%>
<a href="buy.jsp">继续购物</a>

</body>

application

实现网站计数器:

Application+
+

Intx= =0;
X++;
Application.setAttribute(“count”,x);
第一个用户:
if((Integer) Application.getAttribute(“count”)==null){
X++;
Application.setAttribute(“count”,x);
}

当有一个新用户的时候: +
Int x=(Integer) Application.getAttribute(“count”);
X++;
Application.setAttribute(“count”,x);

<body>
<%
	request.setCharacterEncoding("utf-8");
	int count=0;
	if(application.getAttribute("count")==null){
		count++;
		session.setAttribute("count", count);
	}else{
		count=((Integer)application.getAttribute("count")).intValue();
		//刷新页面不加1,只有新用户才加1
		if(session.isNew()){
			session.setAttribute("count", ++count);/* 先加1后使用 */
		}
	}
	out.print("第"+count+"个用户");
%>

</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值