java - Struts 只支持 HttpProtocol 吗?

标签 java jakarta-ee servlets httpwebrequest struts

在Struts Action类的execute方法中,我们有如下四个参数, HttpServletRequest、HttpServletResponse、ActionForm、ActionMapping

这是否意味着 STRUTS 不支持除 Http 之外的任何其他协议(protocol)???我想知道!

此外,在 Struts v2.x 中,我们没有将这些参数嵌入到执行方法中。这是否意味着 Struts 支持从 2.0 版本开始的所有协议(protocol)?

最佳答案

简而言之,Struts 的开发是为了围绕标准 HTTP 的 Web 应用程序的开发方式提供更好的 warpper。

该框架背后的想法是通过消除其所运行的底层 HTTP 协议(protocol)的复杂性,使开发更轻松、更灵活。

在系统的核心,甚至 Strut 使用 HTTP Request 和 Repose 来为您执行其功能和其他工作。

更新: 框架遵循 Servlet 规范,因此它将支持 ServletRequest 请求,ServletResponse 响应

您询问了有关 Struts2 签名的问题,所以这里是答案,Struts2 提供了一种干净的方法来使您的 Action POJO 成为基础,以便轻松进行测试,但这并不意味着它不支持 Servlet 规范,

Struts2 已经清除了execute 方法签名,以便删除对您的 Acton 类的底层 servlet 依赖性,但在幕后它使用一组拦截器来消除您的操作类中的 HTTP 复杂性,并且使编写单元测试用例变得容易。

虽然作为 S2 核心的 Xwork 允许您编写独立的应用程序,但这并不是一个很好的宣传事实

关于java - Struts 只支持 HttpProtocol 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11663573/

相关文章:

java - 异步处理 = 跨线程 = 有效?

java - 如何通过本地网络向服务器发送请求

java - While with Buffered reader 中的两个条件

java - JScrollPane 中的文件文本和复选框 Swing

java - maven web项目在eclipse(tomcat 7)运行报错:error:Cannot invoke Tomcat manager: Software caused connection abort: socket write error

spring-mvc - Spring 3 MVC 使用单个 Controller 处理多个表单提交

java - 在 WildFly for IBM MQ 上部署 MDB 因连接错误而失败

java - 如何从 Servlet 获取对象作为参数

java - 我怎样才能更轻松地完成这个任务? [Java]

java - 使用 Servlet Filter 记录请求和响应