当前位置: 首页 > news >正文

JavaWeb面试题 (一)

1. 常见的软件系统结构

1. C/S

  • C/S结构即客户端/服务器(Client/Server),例如QQ;
  • 缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦;

  • 优点:安全性比较好

2. B/S

  • B/S结构即浏览器/服务器(Browser/Server);

  • 优点:只需要编写服务器端程序;

  • 缺点:安全性较差。

2. 常见的Web服务器

        服务器           所属公司

  • Tomcat           (Apache)
  • Websphere     (IBM)  
  • JBoss              (JBoss)
  • Weblogic         (Oracle)

3.Servlet的生命周期, 和线程安全         

出生(初始化) ——> 服务 ——> 死亡

1. Servlet的出生

服务器会在Servlet 第一次被访问时创建Servlet, 创建Servlet后, 会立刻调用init()方法, init()方法在Servlet的一生中只会被调用一次,  若下次继续访问该Servlet, 就不会创建实例了, 继续用上次创建的实例

2. Servlet的服务

当服务器每次接收到请求时,都会去调用Servlet的service()方法来处理请求。 服务器接收到一次请求,就会调用service() 方法一次

3. Servlet的死亡

当服务器关闭时, Servlet会调用destroy()方法来终结自己, 可以把释放资源的代码放到Servlet的destroy()

4. Servlet和线程安全

因为一个类型的Servlet只有一个对象, 所以会出现一个Servlet处理多个请求, 那么Servlet不是线程安全的

所以我们不应该在Servlet中创建成员变量,因为可能会存在一个线程对这个成员变量进行写操作,另一个线程对这个成员变量进行读操作。

4. 处理请求的两种方式

1. 请求转发

场景: 客户端向服务器发起请求, Servlet处理完后, 转发到另一个Servlet进行处理

特点: 

  • 只发送一次请求
  • 地址不会变化

2. 重定向

场景: 客户端向服务器发起请求, 服务器通知客户端不能处理, 让客户端重新访问另一个地址

特点:

  • 会发送两次请求
  • 地址会发生变化 

相关文章:

  • Java 8 Lambda 表达式使用说明与案例
  • Java 集合框架核心知识点全解析:从入门到高频面试题(含 JDK 源码剖析)
  • synchronized 实现原理
  • 双流芯谷元宇宙产业园,引领元宇宙产业新潮流
  • 快捷回复预设文本工具
  • TCP 三次握手,第一次握手报文丢失会发生什么?
  • 黑马点评-实现安全秒杀优惠券(使并发一人一单,防止并发超卖)
  • 易境通专线散拼系统:全方位支持多种专线物流业务!
  • 中宏立达与天空卫士达成战略合作
  • Spring Boot 条件装配机制:用它写出更优雅的自动配置
  • PictureThis 解锁高级会员版_v5.3.0 拍植物知名称和植物百科
  • Ansible快速入门指南
  • 算法助手使用环境框架构建教程
  • 一条SQL的执行过程
  • 2025 全球优质 AI 产品深度测评:从通用工具到垂直领域的技术突围 —— 轻量聚合工具篇
  • Linux 磁盘管理、分区和文件系统检查
  • BaseDao指南
  • 展锐 Android 15 锁定某个App版本的实现
  • 大模型「瘦身」指南:从LLaMA到MobileBERT的轻量化部署实战
  • 【agent】一个智能助手agent
  • 炫酷的个人网站/免费的网络推广平台
  • 网站的开发环境怎么写/长沙做网站推广
  • 有没有做武棍的网站/郑州网站制作公司哪家好
  • 怎样做当当网站代理/seo是什么岗位
  • 网站建设开发语言和使用工具/漂亮的网页设计
  • 手机网站建设多少钱/北京seo主管