让我试着回答你的问题:
首先:您并不真的需要JSP和HTML知识来创建WebServices。如果您对其他知识感兴趣,不妨看看 SOAP、WSDL 或 XML 等主题(SOAP 和 WSDL 文件都基于这些主题) .你可以在w3schools找到好的信息。
正如您在作业要求中所说,您将服务与数据库相结合,因此您将不得不面对这样一个事实,即 WebServices 无法发送每一种类型的data .例如,如果您打算使用某种 JPA,您将无法通过 WebService 在客户端和服务器之间轻松发送实体(尽管可能)。
因此,我的方法是在客户端和服务器之间发送简单的数据类型,并在服务器端构建我的复杂对象。
这将迫使我编写至少 3 个类(一个用于每个 Web 服务,一个用于与数据库通信)。
航空公司 WS:
@WebService
public class Airline {
@WebMethod
public String stuffToDo {
// do your stuff
persistOrSelect(complexObject);
return "success";
}
private boolean persistOrSelectData(Object complex) {
// Database stuff here
DBdao.doStuff(complex);
return true;
}
}
TravelAgent WS:
// same structure as shown above
数据库类:
public class DBdao {
public static doStuff(Object complex) {
// get DB connection and INSERT, SELECT, UPDATE
}
}
在这种情况下,您甚至不必使用 javax.ejb 包中的类,但我知道这可能是必要的 :)。
我并没有真正使用 Netbeans,因此我只能推测。我认为您的问题 2.) 和 3.) 相互关联。
javax.* 包通常位于您的 JDK 中,并且应该在您使用的 server library/target runtime 内的 IDE 中指定。
- 您是否已将
server library 分配给您的项目?
- 您是否尝试将 Netbeans 安装指向您的 JDK 路径,如 here 和 here 所示?
- 您的项目也可能没有对
Java System library 的引用。
最后但同样重要的是:
有几种方法可以测试您的网络服务:
- 您使用的是 Netbeans,因此我假设您将项目部署在 Glassfish 服务器上。
部署后,您可以在管理 gui 中导航到您的项目,然后单击指向 查看端点 的链接。在下一个窗口中,您可以点击指向生成的WSDL 或tester 的链接
- 您可以按照提供的教程编写自己的客户端,或者,对于更通用的方法,您可以使用this。
- 使用 soapUI 进行测试(可作为独立应用程序或 IDE 插件使用)
希望对你有帮助,玩得开心!