浅谈Cookie,Session及JSP

本文详细介绍了Cookie和Session在跟踪浏览器用户身份中的应用,Cookie作为客户端技术,Session则作为服务器端技术确保安全性。同时,探讨了JSP的工作原理,包括四大对象及其作用域,以及JSP与Servlet的区别和联系。此外,还提到了JSTL(JSP标准标签库)的使用,旨在提高JSP页面的可读性和开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

会话保存技术

概述:cookie和session都是用来跟踪浏览器用户身份的会话方式。即使用场景为:登录网站后,下次会有记录不用重新登。

  • Cookie:客户端技术,相当于服务器可以根据客户端请求创建一个信件(键值对)并保存,并响应给客户端一份,下次登录会先检查自己保存的信件中有无和目前这个客户端一样的(使用较少不做过多阐述)
  • Session:服务器端技术,服务器会登记客户端会话信息,下次进行匹配

Cookie(性能优先)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-to3s22ay-1628951666010)(C:\Users\86153\AppData\Roaming\Typora\typora-user-images\image-20210813183954011.png)]

Session(安全优先)

概述:浏览器端第一次发送请求到服务器端,服务器端创建一个Session,同时会创建一个特殊的Cookie(name为JSESSIONID的固定值,value为session对象的ID),然后将该Cookie发送至浏览器端,之后当浏览器访问时,服务器端根据sessionId去查询Session对象,从而区分不同用户。使用Session登录所有的数据都保存在服务器上。(购物车信息等网站上经常使用的数据)

HttpSession session = req.getSession();//得到session对象
session.setAttribute("name",Object);//给session中存东西,键值可以是对象
String sessionId = session.getId();//获取sessionId

JSP

概述:(Java Server Pages)是JavaWeb服务器端的动态资源,它与html页面的作用是相同的,显示数据和获取数据。由html + java脚本 + jsp标签(指令)组成,有可以直接调用的9大内置对象。

主要四大对象

都用于存放数据但作用域不同对象.setAttribute(s,o);

application(ServletContext)>session>request>pageContext,其保存的数据分别在一个服务器开启到结束、一次会话、一次请求、一个页面中有效。

Jsp原理

jsp其实是一种特殊的Servlet

  • 当jsp页面第一次被访问时,服务器会把jsp编译成java文件
  • 然后再把java编译成.class
  • 然后创建该类对象(底层实现了Servlet)
  • 最后调用它的service()方法
  • 第二次请求同一jsp时,直接调用service()方法。
JSP与Servlet的区别和联系(转自csdn博主)
  • 运行过程
    客户在第一次请求JSP时,请求较慢,因为JSP Engine先把JSP程序转换成servlet代码,接着将它编译成类文件,以后贮存在内存中再次调用速度就快了;
    访问servlet时,可以直接对其编译好的类文件执行。

  • 使用方式
    要想使用servlet必须把它放在特定位置而且必须对其映射配置;
    jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。(但要导入相应依赖和引入标签库)

  • 程序组成
    Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容;
    JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内容

  • 职能分工
    jsp更侧重于前端页面显示(在html里面写java代码),servlet更侧重于业务逻辑(在java里面写html代码)。

  • 本是一家人
    Jsp 本质上是servlet,用jsp实现的页面用servlet也能实现。

Jstl

概述:JSP标准标签库,主要来代替JSP中Java代码书写,用它书写JSP页面时可读性更强,长得像XML,方便前端查看和参与开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值