是否可以从桌面应用程序访问部署在glassfish上的servlet?

时间:2014-07-28 12:13:43

标签: java servlets

我开始学习servlet,我知道如果我在服务器上部署servlet,那么我可以通过浏览器使用get请求访问该servlet。现在我的问题是可以从java桌面应用程序访问同一个servlet(使用套接字。)?
这是我的客户端代码:

public class SocketClient {
    public static void main(String[] args) throws IOException {
        Socket myClient;
        Scanner reader;

        myClient = new Socket("http://localhost:8080/HelloWorld/MyFirstServlet", 8080);
        reader = new Scanner(myClient.getInputStream());
        System.out.println(reader.nextLine());
    }
}

2 个答案:

答案 0 :(得分:1)

当然可以。但是你不必打开socket。您必须改为创建HTTP连接。有关详细信息,请查看以下讨论:

How do I do a HTTP GET in Java?

如果你需要使用其他HTTP方法google,比如:“如何在java中发出HTTP METHOD请求”,其中METHOD是GET,POST,DELETE,HEAD,OPTIONS等。

答案 1 :(得分:1)

是的,你可以。浏览器只是一个计算机程序。它使用套接字与服务器通信。您可以编写一个也使用套接字与服务器通信的程序。您的程序必须使用与浏览器相同的通信协议:HTTP。

事实上,编写与HTTP服务器通信的程序是如此常见,以至于Java为此提供了一个API(在SO上查找有关using java.net.URLConnection的问题),并且有基于这些基础的应用程序框架。使它更容易(例如RestTemplate of Spring)。