JSP内置对象(二)
2016-12-26 00:33
281 查看
Cookie操作
Cookie相关的主要方法:
response.addCookie(Cookie c):通过该方法,将Cookie写入客户端。Cookie.setMaxAge(int second):通过该方法,设置Cookie的存活时间,参数表示存活的秒数。
Cookie[] request.getCookie():读取客户端传过来的Cookie,以数组形式返回,读取数组之后,一般进行遍历。
例子:cookieP1.jsp定义数值变量num,显示num的平方,要求点击链接,在cookieP2.jsp显示num的立方.
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <% String str = "12"; int num = Integer.parseInt(str); %> <!-- cookieP1 --> 该数字的平方为:<%=num*num %><hr> <% //将str存入Cookie Cookie cookie = new Cookie("num", str); //设置Cookie的存活期为600秒 cookie.setMaxAge(600); //将Cookie保存于客户端 response.addCookie(cookie); %> <a href="cookieP2.jsp">到达P2</a>
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <% String str = null; Cookie[] cookies = request.getCookies(); for(int i = 0; i < cookies.length; i++) { if(cookies[i].getName().equals("num")) { str = cookies[i].getValue(); break; } } int num = Integer.parseInt(str); %> <!-- cookieP2.jsp --> 该数字的立方为:<%=num*num*num %><hr>
利用session开发购物车
(对应类型:javax.servlet.http.HttpSession)购物车特点:
同一个用户使用的是同一个购物车。不同的用户使用的是不同的购物车。否则,别人买的东西就会算到自己的账上。
在不同货架(页面)之间进行访问时,购物车中的内容可以保持。
用session开发购物车
将内容放入购物车:void session.setAttribute(String name, Object obj)。读取购物车的内容:Object session.getAttribute(String name)。
例子:
cart3_1.jsp:<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <html> <body> <% ArrayList books = new ArrayList(); books.add("book1"); books.add("book2"); books.add("book3"); session.setAttribute("books", books); %> <a href="cart3_2.jsp">查看购物车</a> </body> </html>
cart3_2.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <html> <body> 购物车中内容为:<hr> <% ArrayList books = (ArrayList)session.getAttribute("books"); for(int i = 0; i < books.size(); i++) { String book = (String)books.get(i); out.println(book+"<br>"); } %> </body> </html>
session的其他API
session的其他操作
移除session中的内容:void session.removeAttribute(String name)。移除session中的全部内容:void session.invalidate()。
预防session内容丢失。
例子:用一个表单提交将书本放入购物车,并在页面底部打印。
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <html> <body> <form action="handleSessionLost.jsp" method="post"> 请您输入书本:<input name="book" type="text"> <input type="submit" value="添加到购物车"> </form> <hr> <% ArrayList books = (ArrayList)session.getAttribute("books"); //预防session内容丢失 if(books == null) { books = new ArrayList(); session.setAttribute("books", books); } String book = request.getParameter("book"); if(book != null) { book = new String(book.getBytes("ISO-8859-1")); books.add(book); } %> 购物车中的内容是:<br> <% for(int i = 0; i < books.size(); i++) { out.println(books.get(i)+"<br>"); } %> </body> </html>
sessionId
对于每一个session,服务器端都有一个sessionId来标识它。sessionId1.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <html> <body> <% String id = session.getId(); out.println("当前sessionId为:"+id); %> <hr> <a href="sessionId2.jsp">到达下一个页面</a> </body> </html>
sessionId2.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <html> <body> <% String id = session.getId(); out.println("当前sessionId为:"+id); %> </body> </html>
application对象
(对应类型:javax.servlet.ServletContext)application的主要API:
将内容放入application:void application.setAttribute(String name,Object obj)。读取application中的内容:Object application.getAttribute(String name)。
将内容从application中移除:void application.removeAttribute(String name)。
例子:显示某个页面被访问次数。
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <html> <body> <% Integer count = (Integer)application.getAttribute("count"); if(count == null) { count = new Integer(0); } count++; application.setAttribute("count",count); %> 您是该页面的第<%=count %>个访问者。 </body> </html>
相关文章推荐
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- Jsp学习——Jsp内置对象
- JSP内置对象(9个常用的内置对象)
- jsp内置对象
- JSP内置对象(二)——response对象
- JSP内置对象(二)Session对象
- Jsp内置对象
- JSP内置对象(3)-----session对象
- JSP内置对象(下)
- 二、JSP之JSP内置对象
- 九个jsp内置对象
- jsp内置对象
- JSP内置对象(9个常用的内置对象)
- jsp内置对象
- JSP内置对象(9个常用的内置对象)
- 6、JSP内置对象
- JSP内置对象
- JSP内置对象(三)——session对象
- JSP内置对象(主要指page、request、session、application)