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

软件工程面试题(二十八)

1、从action类,servlet依赖,action执行的控制、线程模式几个方面谈struts1和struts2的区别。

答:从action类上分析:

1.Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 
2. Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。

从Servlet 依赖分析: 
3. Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。 
4. Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response。但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。
从action线程模式分析: 
5. Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。 
6. Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

2、如何理解struts,jsf,struts2的工作原理

答:1.JSF和STRUTS工

http://www.dtcms.com/a/113985.html

相关文章:

  • [ 计算机网络 ] | HTTP协议(一)
  • MySQL:查询
  • 获取KUKA机器人诊断文件KRCdiag的方法
  • Mathematics | Branch
  • STM32 的编程方式总结
  • CCF GESP Python编程 三级认证真题 2025年3月
  • JAVA反序列化深入学习(十二):Groovy1
  • 【家政平台开发(17)】文件存储与管理系统设计:解锁数据的“保险柜”
  • 把握数据治理关键,释放企业数据潜能
  • 【8】搭建k8s集群系列(二进制部署)之安装node节点组件(kubelet)
  • AI 重构老旧系统:创业新曙光
  • 使用MATIO库读取Matlab数据文件中的多维数组
  • Express学习笔记(二)——Express中间件
  • Mlivus Cloud SDK v2技术革新与最佳实践指南
  • 无人机等非合作目标公开数据集2025.4.3
  • Why are we forced to download Apps?
  • Nextjs15 实战 - React Notes之SidebarNoteList优化和Suspense的使用
  • Qwen-7B-Chat 本地化部署使用
  • 【计算机网络】Linux配置SNAT策略
  • 【PowerQuery专栏】List.Combine 进行数据合并操作
  • 【Linux笔记】进程管理章节笔记
  • 20250405在荣品的PRO-RK3566开发板使用Rockchip原厂的buildroot系统来适配gmac1
  • Android学习总结之算法篇四(排序)
  • 第十三章:持久化存储_《凤凰架构:构建可靠的大型分布式系统》
  • gltf unity-Unity中Gltf模型的使用与优化技巧
  • Envoy 源码解析(三):Envoy 发送数据到服务端、Envoy 收到服务端响应
  • 回归预测 | Matlab实现NRBO-Transformer-LSTM多输入单输出回归预测
  • 水文传输规约 SL651的相关经验
  • Java的Selenium的特殊元素操作与定位之iframe切换
  • Spring Boot开发三板斧:高效构建企业级应用的核心技法