zoukankan      html  css  js  c++  java
  • 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的属性.

  • 相关阅读:
    C语言 va_start 宏
    C语言 strcat_s 函数
    C语言 strcat 函数
    C语言 memcpy_s 函数
    C语言 memcpy 函数
    C语言 strcpy_s 函数
    C语言 strcpy 函数
    C语言 sizeof 函数
    c++实现扫雷游戏 初学
    .Net vs .Net Core,我该如何选择?看这一篇文章就够了
  • 原文地址:https://www.cnblogs.com/learnjfm/p/6918275.html
Copyright © 2011-2022 走看看