public void setAttribute(String key,Object obj).session对象可以调用该方法将参数object指定的对象obj添加到session对象中,并为添加的对象指定一个索引关键字,如果添加2个对象的关键字相同,则先前添加的对象被清除。
public Object getAttribute(String key).获取session对象索引关键字是key的对象。此方法需要强制类型转换。
example3_16_number.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%int number=(int)(Math.random()*100)+1;
session.setAttribute("count", new Integer(0));
session.setAttribute("save", new Integer(number));//实例化一个Integer类的对象,并赋0;
%>
<p>随机分给了一个1到100之间的数:请猜!输入猜测:
<form action="example3_16_result.jsp" method="post">
<input type="text" name="guess">
<input type="submit" name="submit" value="送出">
</form>
example3_16_large.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%Integer integer=(Integer)session.getAttribute("guess");
%>
<%=integer%>数大了,请再猜:<br>
<form action="example3_16_result.jsp" method="post">
<input type="text" name="guess">
<input type="submit" name="submit" value="送出">
</form>
example3_16_small.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%Integer integer=(Integer)session.getAttribute("guess");
%>
<%=integer%>数小了,请再猜:<br>
<form action="example3_16_result.jsp" method="post">
<input type="text" name="guess">
<input type="submit" name="submit" value="送出">
</form>
example3_16_success.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%
//int num = ((Integer) session.getAttribute("save")).intValue(); //这样返回的是具体的值
// int count = ((Integer) session.getAttribute("count")).intValue();
Integer num = (Integer) session.getAttribute("save"); //返回Integer类型
Integer count = (Integer) session.getAttribute("count");
%>
<p>
恭喜你猜对了,数字为<%=num%>,次数为<%=count%><br> <a
href="example3_16_number.jsp">重新开始</a><br>
example3_16_result.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%
String str = request.getParameter("guess");
if (str == null || str.length() == 0) { //String是引用类型所以有Null一说,也就是空,如果String定义时为String="",这个时候s.len//gth()=0,但是string 没有属性。
response.sendRedirect("example3_16_number.jsp");
} else {
int guessnumber = Integer.parseInt(str);
session.setAttribute("guess", new Integer(guessnumber));
Integer integer = (Integer) session.getAttribute("save");
int realnumber = integer.intValue(); //为了用户的session对象中存放的整数进行比较。
if (guessnumber == realnumber) {
int n = ((Integer) session.getAttribute("count"))
.intValue();
n = n + 1;
session.setAttribute("count", new Integer(n));
response.sendRedirect("example3_16_success.jsp");
} else if (guessnumber > realnumber) {
int n = ((Integer) session.getAttribute("count"))
.intValue();
n = n + 1;
session.setAttribute("count", new Integer(n));
response.sendRedirect("example3_16_large.jsp");
} else if (guessnumber < realnumber) {
int n = ((Integer) session.getAttribute("count"))
.intValue();
n = n + 1;
session.setAttribute("count", new Integer(n));
response.sendRedirect("example3_16_small.jsp");
}
}
%>
example3_15_a.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<head>
<br>输入姓名:
<A href="example3_15_a.jsp">确定姓名页面</A>
<br>选择图书:
<A href="example3_15_b.jsp">选择图书页面</A>
<br>结账:
<A href="example3_15_c.jsp">结账页面</A>
</head>
<html>
<body>
<font size=3>
<p>输入姓名
<form action="" method="post" name="form">
<input type="text" name="name"> <input type="submit"
name="submit" value="确定">
</form> <%
String name = request.getParameter("name");
if (name == null) {
name = "";
} else {
session.setAttribute("name", name);
}
%>
</font>
</body>
</html>
example3_15_b.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<head>
<br>输入姓名:
<A href="example3_15_a.jsp">确定姓名页面</A>
<br>选择图书:
<A href="example3_15_b.jsp">选择图书页面</A>
<br>结账:
<A href="example3_15_c.jsp">结账页面</A>
</head>
<html>
<body>
<font size="2">
<form action="" method="post">
<input type="checkbox" name="choice" value="Java教程32.5元">Java教程32.5元
<input type="checkbox" name="choice" value="数据库原理23元">数据库原理23元
<br> <input type="checkbox" name="choice" value="操作系统35元">操作系统35元
<input type="checkbox" name="choice" value="C语言教程28.6元">C语言教程28.6元
<br> <input type="submit" value="提交" name="submit">
</form> <%
String book[] = request.getParameterValues("choice");
if (book != null) {
StringBuffer str = new StringBuffer();
for (int k = 0; k < book.length; k++) {
str.append(book[k] + "<br>");
}
session.setAttribute("book", str);
}
%>
</font>
</body>
</html>
example3_15_c.jsp