JSP内置对象session

3/8/2017来源:ASP.NET技巧人气:1161

jsp内置对象session

Tomcat服务器可以使用内置对象session记录有关链接的信息。内置对象session由Tomcat服务器创建,session是实现了HttpSession接口类的一个实例,可以在Tomcat服务器的webapps\tomcat-docs\servletapi中查找HttpSession接口的方法

session 对象存储数据可以调用的方法

(1)调用public void setAttribute(String key,Object obj) 将参数Object指定的对象obj添加到session对象中,并为添加的对象指定一个索引关键字。

(2)调用public void getAttribute(String key) 获取session对象索引关键字是key的对象。由于任何对象都可以添加到session对象中,因此用该方法取回对象时,应强制转化为原来的类型。

(3)调用public Enumeration getAttributeNames() session对象为该方法产生一个枚举对象,该枚举对象使用nextElements()遍历session中的各个对象所对应的关键字。

使用session对象实现一个猜数字小游戏

number.jsp

<%@ page language="java" contentType="text/html; charset=gb2312"%> <html> <body bgcolor=cyan><font size=3> <% int number=(int)(Math.random()*100)+1; session.setAttribute("count", new Integer(0)); session.setAttribute("random",new Integer(number)); %> <p>已经为您随机生成了一个1-100之间的数字,请在此输入您的猜测:<br> <form action="result.jsp" method=post name=form> <input type="text" name="guess"> <input type="submit" value="确定" name="submit"> </form> </font> </body> </html>

result.jsp

<%@ page language="java" contentType="text/html; charset=gb2312"%> <html> <body bgcolor=cyan><font size=4> <% String str=request.getParameter("guess"); if(str==null || str.length()==0){ response.sendRedirect("number.jsp"); } else{ int guessnumber=Integer.parseInt(str); session.setAttribute("guess",new Integer(guessnumber)); Integer integer=(Integer)session.getAttribute("random"); int realnumber=integer.intValue(); if(guessnumber==realnumber){ int n=((Integer)session.getAttribute("count")).intValue(); n=n+1; session.setAttribute("count",new Integer(n)); response.sendRedirect("success.jsp"); } else if(guessnumber>realnumber){ int n=((Integer)session.getAttribute("count")).intValue(); n=n+1; session.setAttribute("count",new Integer(n)); response.sendRedirect("large.jsp"); } else if(guessnumber<realnumber){ int n=((Integer)session.getAttribute("count")).intValue(); n=n+1; session.setAttribute("count",new Integer(n)); response.sendRedirect("small.jsp"); } } %> </font> </body> </html>

success.jsp

<%@ page language="java" contentType="text/html; charset=gb2312"%> <html> <body bgcolor=cyan><font size=3> <% int count=((Integer)session.getAttribute("count")).intValue(); int num=((Integer)session.getAttribute("random")).intValue(); %> <p>恭喜您,猜对了,这个数字是<%= num %> <br>您共猜了<%= count %>次 </font> </body> </html>

large.jsp

<%@ page language="java" contentType="text/html; charset=gb2312"%> <html> <body bgcolor=cyan><font size=3> <% Integer count=(Integer)session.getAttribute("count"); Integer number=(Integer)session.getAttribute("guess"); %> <p>您猜的数字是<%= number %>,猜大了,您已经猜了<%= count %>次了,请重新猜, <form action="result.jsp" method=post name=form> <input type="text" name="guess"> <input type="submit" value="确定" name="submit"> </form> </font> </body> </html>

small.jsp

<%@ page language="java" contentType="text/html; charset=gb2312"%> <html> <body bgcolor=cyan><font size=3> <% Integer count=(Integer)session.getAttribute("count"); Integer number=(Integer)session.getAttribute("guess"); %> <p>您猜的数字是<%= number %>,猜小了,您已经猜了<%= count %>次了,请重新猜, <form action="result.jsp" method=post name=form> <input type="text" name="guess"> <input type="submit" value="确定" name="submit"> </form> </font> </body> </html>

结果展示

这里写图片描述