java - CXF servlet 的目的是什么
问题描述
我正在使用 Apache CXF 进行 Restful webservice 的演示项目设置,我碰巧在 web.xml 中找到了一段代码:
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
我真的不明白这个 web.xml 中 servlet 类的使用。我搜索org.apache.cxf.transport.servlet.CXFServlet
并发现:
由 Apache CXF 定义的 CXFServlet 类被生成并注册以处理传入的请求。
现在,我真的不明白那条线是什么意思
- 这个 servlet 是否像在 Spring MVC 流中那样充当前端控制器?
- 使用这个 servlet 类的实际目的是什么?
- CXF如何使用Spring提供项目中定义的服务的XML配置?
org.glassfish.jersey.servlet.ServletContainer
在 Jersey 实现中的目的是否org.apache.cxf.transport.servlet.CXFServlet
与 Apache CXF 相同?
帮我澄清这些问题。
解决方案
JAX-RS 规范建立在 Servlet 规范之上。每个实现都应该有一个 Servlet 作为应用程序的入口点。当一个请求进来时,它被那个 Servlet 处理。CXFServlet
是 CXF 对该入口点 Servlet 的实现。
这个 servlet 是否像在 Spring MVC 流中那样充当前端控制器?
差不多。它类似于 Spring MVC 的DispatcherServlet
使用这个 servlet 类的实际目的是什么?
如上所述,它是 JAX-RS (CXF) 应用程序的入口点。
CXF如何使用Spring提供项目中定义的服务的XML配置?
它使用 Spring 连接组件;将它们全部连接在一起。但这不是必需的(另请参阅)。
org.glassfish.jersey.servlet.ServletContainer
在 Jersey 实现中的目的是否org.apache.cxf.transport.servlet.CXFServlet
与 Apache CXF 相同?
差不多。
推荐阅读
- java - Google CLoud App Engine 为 Selenium 安装 Firefox 驱动程序(错误 500)
- sql - 加载从 CSV 列中获取的 JSON 数据以填充表
- javascript - Firebase 存储正在将图像上传为 9B 文件
- java - 在 MongoClientOptions 中不设置空闲时间到底是做什么的?
- php - 我想在这个 wordpress 主题中添加评论计数的链接
- pyqt - 从 QLineEdit 打印
- python - 在不和谐机器人中ping多个用户
- neo4j - 如果neo4j中不存在数组,如何设置属性
- html - 从我的材料表单元格中隐藏 Base64 字符串
- c# - 如何使用 FluentValidation 实现 IValidateOptions?