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"); } } %>
时间: 2024-11-06 15:54:09