JSP技术基础 session的使用
由于http协议是一种无状态的协议,服务器在下一次连接时不保存之前的信息。
当一个客户首次访问服务器上的一个JSP 页面时,JSP 引擎产生一个secssion 对象,当用户关闭了浏览器后,session对象也被取消。
常用方法
(1) public void setAttribute(String key ,Object obj)
session对象类似于散列表,session对象可以调用该方法将参数Object指定的对象obj
添加到session 对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对
象的关键字相同,则先前添加的对象被清除。
(2) public Object getAttibue(String key)
获取session 对象含有的关键字是key 的对象。由于任何对象都可以添加到session 对
象中,因此用该方法取回对象时,应强制转化为原来的类型。
实例:购物车
buy1.jsp(买肉界面)
body>
<%
if(request.getParameter("c1")!=null){
session.setAttribute("s1",request.getParameter("c1"));
}
if(request.getParameter("c2")!=null){
session.setAttribute("s2",request.getParameter("c2"));
}
if(request.getParameter("c3")!=null){
session.setAttribute("s3",request.getParameter("c3"));
}
%>
<form action="buy1.jsp" method="post">
<p><input type="checkbox" name="c1" value="猪肉">猪肉</p>
<p><input type="checkbox" name="c2" value="羊肉">羊肉</p>
<p><input type="checkbox" name="c3" value="狗肉">狗肉</p>
<p><input type="submit" name="b1" value="提交"></p>
<p><input type="reset" name="b2" value="全部重写">
<a href="buy2.jsp">买点别的</a>
<a href="display.jsp">查看购物车</a></p>
</form>
</body>
buy2.jsp(卖球界面)
<body>
<%
if (request.getParameter("b1") != null ){
session.setAttribute("s4", request.getParameter("b1"));
}
if (request.getParameter("b2") != null ){
session.setAttribute("s5", request.getParameter("b2"));
}
if (request.getParameter("b3") != null ){
session.setAttribute("s6", request.getParameter("b3"));
}
%>
各种球大甩卖,一律八块:
<form method="POST" action="buy2.jsp">
<p><input type="checkbox" name="b1" value="篮球">篮球</p>
<p><input type="checkbox" name="b2" value="足球">足球</p>
<p><input type="checkbox" name="b3" value="排球">排球</p>
<p><input type="submit" value="提交" name="x1">
<input type="reset" value="全部重写" name="B2">
<a href="buy1.jsp">买点别的</a>
<a href="display.jsp">查看购物车</a>
</P>
</FORM>
</body>
display。jsp(购物车界面)
<body>
你选择的结果是: <center>
<%
String str="";
if(session.getAttribute("s1")!=null){
str=(String)session.getAttribute("s1");<!--Object转为string-->
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b,"GB2312");<!--避免乱码-->
out.println(str);
}
if(session.getAttribute("s2")!=null){
str=(String)session.getAttribute("s2");
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b,"GB2312");
out.println(str);
}
if(session.getAttribute("s3")!=null){
str=(String)session.getAttribute("s3");
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b,"GB2312");
out.println(str);
}
if(session.getAttribute("s4")!=null){
str=(String)session.getAttribute("s4");
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b,"GB2312");
out.println(str);
}
if(session.getAttribute("s5")!=null){
str=(String)session.getAttribute("s5");
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b,"GB2312");
out.println(str);
}
if(session.getAttribute("s6")!=null){
str=(String)session.getAttribute("s6");
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b,"GB2312");
out.println(str);
}
%>
</body>