java - java web服务使用什么方法?

标签 java web-services spring tomcat

我正在开发一个具有多个框架(spring、hibernate、spring-security、用于 GUI 的 ZK)的 Web 应用程序,并使用 Tomcat 作为应用程序服务器。我必须说我完全没有使用 Java Web 服务技术的经验。事情是,在不久的将来,我几乎肯定必须公开一些外部应用程序的服务数量,我想知道该怎么做(考虑到我正在使用的框架)...

我看到并阅读了有关 Axis、Axis2、JAX-WS 的各种教程和一些问题 (link)...让我有点困惑的是我不知道常见的做法是什么(如果有的话)将服务集成到现有的网络应用程序中(主要是在项目组织方面)。正如我现在所看到的,我需要实现的这些服务将部分依赖于现有的源代码,所以我不知道我是否应该使用完全独立的项目,或者我可以将它放在我现有的 web 应用程序文件夹中(我尝试使用 Axis2,但不知道这是否是一个好习惯)。

谢谢。

最佳答案

如何组织项目?

总的来说,我同意@ericacm 的观点,但有一件事你应该牢记......你说你将在不久的将来开发一些服务。您可能会想要在单独的服务器上托管服务,例如出于性能、可用​​性或可维护性的原因。这可能会影响您分离项目的决定。此外,分离“强制”松散耦合,但因此引入了其他挑战,例如跨多个 WAR 的 session 共享。这是个案决定。

如果我处于您的情况,我会首先问自己服务在逻辑上是否属于网络应用程序。

实现

当谈到 WS-* 实现时,您必须做出 2 个决定:

  1. 决定要使用的 API;今天,我看不出有任何理由不将 JAX-WS 与 JAXB 作为 API 一起使用,它们运行良好并且已标准化。
  2. 决定一个框架;我有使用 Axis2 和 METRO 的经验(请记住 JSE 1.6+ 提供基本的 JAX-WS 支持)。两者都运作良好。如果您使用 JAX-WS API,则更改框架相当容易。

关于java - java web服务使用什么方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6909648/

相关文章:

java - Spring - 在每次调用 Service/DAO 层时包含当前用户

java - 如何将 json 字段与字符串匹配 - java

java - java从磁盘读取文件

java - OpenCV 和 Android Studio : "unfortunately app has stopped"

java - Spring JPA 多线程

jquery - 发送 JSON 数据到服务器错误

java - Hibernate DB2 ROW_NUMBER() 错误

iphone - 获取节点 :withName: method of soap is called more than 2 million times when parsing some big xml web service

c# - 无法在 .Net 2.0 Web 服务中传递枚举

c# - 如何将公共(public) Web 服务 API 设为私有(private)?