让我试着回答你的问题:
首先:创建 WebServices并不需要JSP和HTML知识。如果您对其他知识感兴趣,不妨看看SOAP、WSDL或XML(SOAP 和 WSDL 文件所基于的)等主题。您可以在w3schools找到很好的信息。
正如您在作业要求中所说,您将把您的服务与数据库结合起来,因此您将不得不面对 WebServices 无法发送所有类型的数据这一事实。例如,如果您打算使用某种 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;
}
}
旅行社 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 中,并且应该在您的 IDE 中server library/target runtime
的 using 中指定。
- 您是否已将 分配
server library
给您的项目?
- 您是否尝试将 Netbeans 安装指向您的 JDK 路径,如此处和此处所示?
- 您的项目也可能没有对
Java System library
.
最后但并非最不重要的:
有几种方法可以测试您的 Web 服务:
- 您使用 Netbeans,因此我假设您将项目部署在 Glassfish 服务器上。
部署后,您可以在管理 gui 中导航到您的项目,然后单击指向查看端点的链接。在下一个窗口中,您可以点击指向生成的链接WSDL
或指向tester
- 您可以按照提供的教程编写自己的客户端,或者,对于更通用的方法,您可以使用这个.
- 使用soapUI进行测试(它可以作为独立应用程序或 IDE 插件使用)
我希望这会有所帮助,玩得开心!