Java Web面试题

目录

jsp和servlet有什么区别?

jsp有哪些内置对象?作用分别是什么?

说一说jsp的4中作用域?

session和cookie有什么区别?

说一下session的工作原理?

如果客户端禁用了cookie,能实现session还能用吗?


jsp和servlet有什么区别?

  • jsp经编译后就变成了servlet。(jsp的本质就是servlet,jvm只能识别java代码,不能识别jsp的代码,Web容器将jsp编译成jvm能够识别的java类)
  • 它们的职责不同,jsp主要负责页面展示,servlet主要负责业务逻辑的处理
  • servlet没有内置对象,jsp有九大内置对象
  • jsp是servlet的一种简化,使用jsp只需要完成程序员要输出到客户端的内容,jsp中的脚本如何镶嵌到一个类中,由jsp容器完成。servlet则是个完整的java类,这个类的service方法用于生成对客户端的响应。

jsp有哪些内置对象?作用分别是什么?

  • pageContext:通过该对象获取其他对象。
  • request:封装客户端的请求。
  • session:封装用户会话对象。
  • application:封装服务器运行环境对象
  • out:封装服务器响应的输出流对象。
  • response:封装服务器对客户端的响应。
  • page:JSP页面本身。
  • config:封装Web应用的配置对象。
  • exception:封装页面抛出异常的对象。

说一说jsp的4中作用域?

  • page:代表变量只能在当前页面上生效。
  • request:代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到页面B。
  • session:代表变量能在一次会话中生效。跟某个用户相关的数据应该放在自己的session中。
  • application:代表变量在一个应用下有效,也就是多个会话之间都能使用。

session和cookie有什么区别?

  • session是服务器端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在内存、数据库或硬盘中。
  • Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。数据也可保存在浏览器缓存或硬盘中。

说一下session的工作原理?

其实session是一个存在服务器上的类似于一个散列表的文件。里面存有我们需要的信息,在我们需要的时候可以从里面取出来。类似于一个大号的map,里面的键存储的是用户的sessionid,用户向服务器发送请求的时候会带上这个sessionid。这时就可以从中取出对应的值了。

如果客户端禁用了cookie,能实现session还能用吗?

cookie和session一般认为是两个独立的东西,session是用在服务器端保持状态的,cookie是用在客户端保持状态的。

为什么禁用cookie就不能得到session呢?因为session是用sessionID来确定当前会话所对应的服务器session,而sessionID是通过cookie来传递的,禁用cookie就相当于失去了sessionID,也就得不到session了。

能实现session还能用。

一般我们会使用手动通过URL传值,隐藏表单传递seesionID的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值