Java - 程序员面试笔记记录 & 实现 - Part5

7.1 Struts

优点:

1. MVC模式实现了表现与逻辑的分离,扩展性高。

2. 提供页面导航功能,通过配置文件建立整个系统各部分之间的联系。

3. 集成了一些常用处理功能。

缺点:

1. 仅面向 Web 应用程序开发

2. Action 非线程安全,资源需要考虑同步。

7.1 补充 - MVC

MVC模式的基本组成:

  1. Model(模型):代表数据和业务逻辑。它负责数据的存储、检索和逻辑处理,通常与数据库进行交互。

  2. View(视图):代表用户界面。它显示数据(通过Model提供)并收集用户的输入,但不处理业务逻辑。

  3. Controller(控制器):充当Model和View之间的中介。它接收用户的输入,调用Model来处理数据,然后选择合适的View来显示结果。

MVC2模式的特点:

  • 分离关注点:MVC2模式将数据、界面和逻辑分离,使得开发和维护更加清晰和简单。

  • 可维护性:由于关注点分离,修改任何一个部分(数据、界面或逻辑)时,其他部分不受影响,提高了代码的可维护性。

  • 可扩展性:MVC2模式使得扩展应用程序变得更加容易,可以独立地扩展Model、View或Controller。

  • 可测试性:分离的架构使得对各个组件进行单元测试和集成测试变得更加简单。

7.1 补充 - Servlet

Servlet是Java EE(Java Enterprise Edition)规范的一部分,它是一种运行在服务器端的Java Web应用程序组件,用于处理客户端请求并生成动态响应。Servlet提供了一种将Java代码与HTTP协议交互的方式,使得开发者可以创建能够处理Web请求的Web应用程序。

Servlet的主要特点:

  1. 平台无关性:Servlet可以运行在任何支持Java EE Web规范的服务器上,例如Apache Tomcat、JBoss、GlassFish等。

  2. 请求处理:Servlet可以处理不同类型的HTTP请求,如GET、POST、PUT、DELETE等。

  3. 生命周期管理:Servlet容器管理Servlet的生命周期,包括初始化、服务、销毁等。

  4. 可重用性:Servlet可以被设计为可重用的组件,可以在多个Web应用程序中使用。

  5. 集成性:Servlet可以与其他Java EE组件(如EJB)集成,实现复杂的企业级应用。

Servlet的生命周期:

  1. 实例化:Servlet容器创建Servlet实例。

  2. 初始化:容器调用init()方法初始化Servlet实例。

  3. 服务:容器调用service()方法来处理客户端请求。

  4. 销毁:容器在销毁Servlet实例前调用destroy()方法。

  5. 垃圾回收:Servlet实例被垃圾收集器回收。

Servlet的工作原理:

  1. 客户端发送HTTP请求到Servlet容器。

  2. Servlet容器创建对应的Servlet实例(如果尚未创建)。

  3. Servlet容器调用Servlet的service()方法,并将请求和响应对象作为参数传递。

  4. service()方法根据请求类型(如GET或POST)调用相应的doGet()doPost()方法。

  5. Servlet处理请求,生成响应,并通过响应对象发送回客户端。

7.3 Struts 响应用户请求的工作流程

Web 启动时,会加载并初始化 ActionServlet,ActionServlet 从 config中读取配置信息,存放到 ActionMappings 对象中。当 ActionServlet 收到客户请求时:

1. 检索和用户请求匹配的 ActionMapping 实例,不存在则返回路径无效。

2. ActionFrom 实例化,保存用户提交的表单。

3. 根据配置信息进行表单验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值