欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > JavaWeb面试题 (一)

JavaWeb面试题 (一)

2025/5/24 15:57:17 来源:https://blog.csdn.net/2301_77140685/article/details/148174625  浏览:    关键词: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. 重定向

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

特点:

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词