Java Web常见面试题

1、JSP 和 servlet 有什么区别?

  • JSP 是 servlet 技术的扩展,本质上就是 servlet 的简易方式。
  • servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 html 里分离开来
  • JSP 的情况是 Java 和 html 可以组合成一个扩展名为 JSP 的文件
  • JSP 侧重于视图,servlet 主要用于控制逻辑

2、JSP 有哪些内置对象?作用分别是什么?

JSP 有 9 大内置对象:

  1. request:封装客户端的请求,其中包含来自 get 或 post 请求的参数;
  2. response:封装服务器对客户端的响应;
  3. pageContext:通过该对象可以获取其他对象;
  4. session:封装用户会话的对象;
  5. application:封装服务器运行环境的对象;
  6. out:输出服务器响应的输出流对象;
  7. config:Web 应用的配置对象;
  8. page:JSP 页面本身(相当于 Java 程序中的 this);
  9. exception:封装页面抛出异常的对象。

3、说一下 JSP 的 4 种作用域?

  1. page:代表与一个页面相关的对象和属性。
  2. request:代表与客户端发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件;需要在页面显示的临时数据可以置于此作用域。
  3. session:代表与某个用户与服务器建立的一次会话相关的对象和属性。跟某个用户相关的数据应该放在用户自己的 session 中。
  4. application:代表与整个 Web 应用程序相关的对象和属性,它实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。

4、session 和 cookie 有什么区别?

  1. 存储位置不同:session 存储在服务器端;cookie 存储在浏览器端。
  2. 安全性不同:cookie 安全性一般,在浏览器存储,可以被伪造和修改。
  3. 容量和个数限制:cookie 有容量限制,每个站点下的 cookie 也有个数限制。
  4. 存储的多样性:session 可以存储在 Redis 中、数据库中、应用程序中;而 cookie 只能存储在浏览器中。

5、说一下 session 的工作原理?

session 的工作原理是:
浏览器第一次请求服务器,服务器创建一个会话(这个会话对象就是Session),并将会话的id作为响应的一部分发送给浏览器,浏览器存储会话id(存储到了浏览器的cookie中),

6、如果客户端禁止 cookie 能实现 session 还能用吗?

可以用,session 只是依赖 cookie 存储 sessionid,如果 cookie 被禁用了,可以使用 url 中添加sessionid 的方式保证 session 能正常使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值