2021-07-29

cookie

cookie是将数据保存到客户端,来实现多次请求的数据共享

cookie是一个普通类

由响应对象使用addcookie的方法添加cookie对象

请求对象使用getcookies得到所有的cookie对象

cookie的属性:name、value、path(cookie路径)、domain(域名)、maxage(存活时间)

注意细节:

name:字母加数字

数量:一个网站最多20个cookie对象,存储大小不能超过4kb,所有的网站不能超过300个

存活时间:0代表立即清除 负整数代表当前对话有效是存活时间

访问 路径:取自第一次访问的资源路径前缀 可以共享cookie

     //设置响应的文本格式
            resp.setContentType("text/html;charset=utf-8");
    
            //通过响应对象写一个提升信息
            resp.getWriter().write("欢迎访问本网站,你上次访问的时间是:");
    
            //创建Cookie对象 指定name和value
            Cookie cookie = new Cookie("time",System.currentTimeMillis()+"");
    
            //设置最大存活时间
            cookie.setMaxAge(3600);
    
            //通过响应对象将Cookie对象添加到客户端
            resp.addCookie(cookie);
    
            //通过请求对象获取Cookie对象
            Cookie[] arr = req.getCookies();
    
            //写出访问时间
            for (Cookie cookie1 : arr) {
                if (cookie1.getName().equals("time")){
                    String value = cookie1.getValue();
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
                    String format = sdf.format(new Date(Long.parseLong(value)));
                    resp.getWriter().write(format);
                }
            }

session

Httpsession:会话域 就是同一次会话中多次请求的作用域

服务器会话管理技术

常用方法:getAttribute、setAttribute、remoteAttribute、getId、invalid:这个是让session理解失效

获取session:用req.getSession()获取session对象

getSession():里面参数可以是true和false,如果是true的话,当使用该方法得到session对象时,先会查看是否会携带jsesessionid,如果带了,根据这个id去服务器内存空间查找是否有该httpsession对象,如果有就这个对象,拿到这个对象可以继续使用,如果没有,就创建一个对象并分配一个jsesessionid给该对象给其使用;如果没有带id的话,创建一个session对象并分配一个jsesessionid发送给客户端使用

如果是false的话,如果没有jsessionid或者没有找到携带jsesessionid的httpsession对象就不会去创建对象

使用,当客户端发起请求是,servlet接收到请求并且处理(设置一个键值对给session对象),然后接着客户端再次发起请求给另外一个servlet接收了,当前servlet就可以使用前面一个servlet的session对象了。

jsp

java server page 动态网页技术标准

本质是一个servlet 可以使用HTML和java语法 但是要配合<%%>使用

语法:

  <% num=1 %> <%--局部变量num=1--%>
    <%! num=1 %> <%--成员变量 num=1--%>
    <%= 内容 %> <%--向浏览器输出内容--%>
    <%--局部变量直接用名字  成员变量则使用this.num--%>
    <%-- 变量一个集合案例 --%>
    <%-- 注意:html标签在jsp中是不需要加<%%>的,可以直接使用java语法需要添加<%%>配合使用 --%>
    <% 
            ArrayList<Student> list = (ArrayList<Student>)session.getAttribute("list");
            System.out.println(list);
            for (Student stu : list) {
        %>
        <tr>
            <td>
                <%=stu.getStuname()%>
            </td>
            <td>
                <%=stu.getSid()%>
            </td>
            <td>
                <%=stu.getScore()%>
            </td>
        </tr>
    
        <%
            }
        %>

jsp指令

在这里插入图片描述

jsp的九大隐式对象

request、response、pagecontext、session、page、out、application、config、exception

pagecontext可以获取其他的八大隐式对象

application是servletcontext对象

out输出对象

四大域对象:

servletContext:应用域对象 最大的

servletrequest:请求域对象 ----链

httpSession:会话域对象—一次会话发起的多次请求

pagecontext:当前页面的作用域

mvc

m:model 封装数据模型

v:view 视图 动态 jsp 静态html

c:controller 控制器 处理相应和请求
在这里插入图片描述
一般在写完一个jsp页面提交会跳转到servlet控制器,然后servlet控制器操作完了在跳转带jsp页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值