session和jsp

1.将商品添加到购物车

点击加入购物车提交到servlet,在servlet将购物的商品存入到session
创建一个map集合,key是商品的名称,value是数量
代码:

public class CartServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //接收商品名称
        String name = new String(request.getParameter("name").getBytes("iso-8859-1"), "utf-8");
        //创建map集合用于保存购物信息
        Map<String, Integer> map = (Map<String, Integer>) request.getSession().getAttribute("cart");
        //如果没有这个map就创建一个
        if(map == null) {
            map = new LinkedHashMap<String, Integer>();
        }
        //判断购物车中是否已经买了该物品
        if(map.containsKey(name)) {
            Integer count = map.get(name);
            count++;
            map.put(name, count);
        }else {
            map.put(name, 1);
        }
        //保存到session域中
        request.getSession().setAttribute("cart", map);

    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

2.session

session的创建:服务器第一次调用getSession()创建session
三种情况销毁session:
1.session过期,默认过期时间为30分钟
2.非正常关闭服务器,如果正常关闭session序列化到硬盘
3.手动调用session.invalidate
session的作用范围:多次请求,一次会话

3.jsp

java服务器端的页面
执行jsp:jsp翻译成servlet,编译这个servlet的类,生成class文件,得到执行

4.jsp的脚本

<%! %>:翻译成servlet中的成员内容,定义变量,方法,类
<% %>:翻译成servlet中service方法内部的内容,定义类,变量
<%= %>:翻译成servlet中service方法中out.print();

jsp的注释:<%--jsp的注释--%>

5.jsp中的三个指令

language:jsp脚本中使用的语言
contentType:设置浏览器打开这个jsp的时候采用的默认的字符集编码
pageEncoding:设置文件保存到本地硬盘,以及生成servlet后,servlet保存到硬盘上的编码
import:在jsp中引入类对象,但是import可以出现多次
extends:设置jsp翻译成servlet后继承的类,默认值:org.apache.jasper.runtime.HttpJspBase,这个值要想修改,这个类必须是HttpServlet的子类
autoFlush:设置jsp的缓存自动刷出,true:自动刷出
buffer:设置jsp的缓冲区的大小,默认8kb

* 设置全局的错误友好页面:
* 在web.xml中设置:

  <error-page>
      <error-code>404</error-code>
      <location>/404.jsp</location>
  </error-page>
  <error-page>
      <error-code>500</error-code>
      <location>/500.jsp</location>
  </error-page>

7.jsp的内置对象

* request HttpServletRequest getParameter(),setAttribute(String name,Object value);
* response HttpServletResponse setHeader(String name,String value);getOutputStream();getWriter();
* session HttpSession setAttribute();getAttribute();
* application ServletContext setAttribute();getAttribute();
* page Object toString();wait();
* pageContext PageContext setAttribute();getAttribute();
* config ServletConfig getServletName();getServletContext();
* out JspWriter write(),print();
* exception Throwable getMessage(),getCause(); 设置isErrorPage=”true”

page内置对象 :真实对象是Object,就是JSP翻译成Servlet后的类的引用.

8.jsp的四个域中存取数据

JSP的四个域范围:
* PageScope :当前页面中有效. pageContext PageContext
* RequestScope :一次请求范围. request HttpServletRequest
* SessionScope :一次会话范围. session HttpSession
* ApplicationScope :应用范围 application ServletContext

9.jsp的动作标签

<jsp:forward /> :用于页面的转发.
<jsp:include /> :用于页面的包含.(动态包含)
<jsp:param /> :用于带有路径的标签下,传递参数.
<jsp:useBean /> :用于在JSP中使用JavaBean.
<jsp:setProperty /> :用于在JSP中向JavaBean设置属性的.
<jsp:getProperty /> :用于在JSP中获得JavaBean的属性.

时间: 2024-10-13 19:29:14

session和jsp的相关文章

使用session在jsp页面之间传递多维数组,用于实现全局变量的效果

使用session在jsp页面之间传递多维数组:发送数据的jsp页面:int [][] form_number=new int[4][4]; session.setAttribute("se_form_number",form_number);接收数据的jsp页面:int [][] data  =  (int[][])session.getAttribute("se_form_number"); 原文地址:https://www.cnblogs.com/ming-4

JavaWeb-10(会话技术之session&amp;amp;JSP)

JavaWeb-会话技术之session&JSP 会话管理之Session技术 一.Session 在WEB开发中,server能够为每一个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此.在须要保存用户数据时.server程序能够把用户数据写到用户浏览器独占的session中,当用户使用浏览器訪问其他程序时,其他程序能够从用户的session中取出该用户的数据,为用户服务. 1.Session和Cookie的主要差别在于: a.

java学习与应用(4.5)--Cookie、Session、JSP等

Cookie 会话技术:Cookie(客户端),Session(服务端).一次会话中包含多次请求和响应直到一端断开,在一次会话范围内多次请求间共享数据.Cookie由服务器发送给客户端使用,供客户端多次使用.服务端:创建Cookie(Cookie对象的构造函数传入Cookie信息).发送Cookie(response.addCookie方法传入参数),接收Cookie(getCookies).idea的Settings-->File and Code Templates-->Web-->

JAVAWEB开发之JSP、EL、及会话技术(Cookie和Session)的使用详解

Servlet的缺点 开发人员要十分熟悉JAVA 不利于页面调试和维护(修改,重新编译) 很难利用网页设计工具进行页面设计(HTML内容导入到servlet中,用PrintWriter的对象进行输出) JSP简介 JSP(Java Server Pages) 与Java Servlet一样,是在服务器端执行的,不同的是JSP先由服务器编译部署成Servlet执行. JSP技术的企业最佳实践(生成HTML内容) 新的JSP2.0规范版本包括新的功能(EL表达式,新增的Simple Tag和Tag

JSP Session管理

阅读目录 先说说cookie与session session常用的方法 session声明周期 管理session过期 通过tomcat监控管理session 在Eclipse重启Tomcat,tomcat-users.xml被重置 本篇讲述JSP中session的相关知识和管理方法: 回到顶部 先说说cookie与session 在web中常用的两种用户信息管理方式:cookie 和 session. cookie是保存在用户客户端的数据,用于避免每次发送http请求时,连带过多的数据,造成复

JSP的会话(Session)跟踪

以下内容引用自http://wiki.jikexueyuan.com/project/jsp/session-tracking.html: 会话(Session) HTTP是一个“无状态”协议,这意味着每一次客户端检索Web页面时,客户端打开一个单独的Web服务器且服务器不会自动连接任何以前的客户端请求的记录. Web客户端和Web服务器之间的会话有以下几种方式: 一.Cookies 网络服务器可以为每个Web客户端和使用已接收的Cookie可识别的来自客户端的后续请求分配一个唯一的会话ID作为

jsp页面中获取session中的值

JSTL标签获取Session: session.setAttribute("age","123"); ${ sessionScope.age} 在页面上显示的就是123了 sessionScope指的是session的范围,类似还有requestScope,pageScope,contextScope 然后后面的age表示的是set属性时的key值 Jsp中获取Session: session是jsp的内置对象,所以你可以直接写在jsp的 <% sessio

jsp中的session

Jsp的session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟. 我们使用session功能,可以达到多个jsp程序从操作同一个java bean,那么这个java bean可以作为我们传统意义上的"全局变量池".(在java中我们可以使用static静态化一个变量和方法,使用singleton唯一化对象.) 在项目实践中,我们Jsp程序中很多参数需要从

How to test for a valid user session in a JSP

Note: This approach is very old; Java/JSP scriptlets were deprecated a long time ago. I don't have time to update this article to the correct, modern approach, but I hope this JSP session example will point you in the right direction. Every once in a