Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将简单消息从网页(HTML/Javascript)发送到Java应用程序?_Javascript_Java_Html - Fatal编程技术网

如何将简单消息从网页(HTML/Javascript)发送到Java应用程序?

如何将简单消息从网页(HTML/Javascript)发送到Java应用程序?,javascript,java,html,Javascript,Java,Html,我有一个Java应用程序,它希望发送一个整数和一个字符串来执行操作。这个程序已经编写好并且可以运行了。但是,我希望使用网页来控制它。因此,我希望有一个网页,可以发送由用户控制的数据。然而,我不知道如何着手这样做 从HTML/Javascript向Java程序发送消息的最简单方法是什么 我只能访问Java SE。这取决于应用程序使用的协议(适配器)。它可以是HTTP、websockets或其他内容 我可以假设您正在谈论HTTP,所以最简单的方法是使用formhtml元素和POST方法 您可以使用J

我有一个Java应用程序,它希望发送一个整数和一个字符串来执行操作。这个程序已经编写好并且可以运行了。但是,我希望使用网页来控制它。因此,我希望有一个网页,可以发送由用户控制的数据。然而,我不知道如何着手这样做

从HTML/Javascript向Java程序发送消息的最简单方法是什么

我只能访问Java SE。

这取决于应用程序使用的协议(适配器)。它可以是HTTP、websockets或其他内容

我可以假设您正在谈论HTTP,所以最简单的方法是使用
form
html元素和POST方法


您可以使用JSP/Servlet在客户端和服务器之间进行通信


请将项目分为两部分(如果有数据库管理,则分为三部分):

  • 服务器端-核心端。在这里,您可以实现java代码。这意味着您必须运行像tomcat这样的服务器。创建新的web应用程序项目。包括tomcat或其他服务器。创建一个Servlet(不要问如何创建,而是通过internet进行搜索)。在该servlet中,重写doPost方法。将此代码包含在该方法中,可为您提供关于服务器端的假设:
  • response.getWriter().write(“来自服务器的你好”)

  • 客户端。客户端是实现html、js和css代码的地方。通过post方法将表单提交到该servlet
  • 如果您正确配置了web.xml,那么在提交此表单时,您应该会收到“hello from server”作为响应。
    使用eclipse作为易于配置的IDE。

    问题:您有maven吗? 如果不是,我会鼓励你下载它。很简单:

    如果是,请将以下内容添加到pom文件中:

        <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.0.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    
    这将在端口8080上启动web服务器

    • Access GET调用返回hello world的第一个方法
    • POST调用greet方法返回问候语:NameParam
    请在此处查看此代码示例:

    我还在参考资料中添加了一个小index.html文件作为AJAX的示例

    这是一个完整的项目,在启用CORS的情况下生成2个端点(GET和POST),当您使用Maven(mvn clean install)构建它时,您会得到一个胖JAR,您可以使用以下命令调用它:java-JAR target/spring.boot.sample.JAR


    有关更多信息:

    我的应用程序目前没有实现任何接收消息的功能。一旦我知道通信将如何进行,这将被添加进来。我最初考虑使用POST,因为它允许我一次发送多个数据,这正是我所需要的。然而,我不知道如何设置Java来接收POST消息。我所看到的一切看起来都很复杂。即使是你发布的链接似乎也让使用Java看起来很困难。这就是JavaEE,对吗?我忘了提到我只能访问Java SE。我可以知道为什么您只能使用J2SE吗?最终将使用该程序的系统只安装了Java SE,而我没有在其上安装EE的管理员权限。请尝试阅读有关spring boot应用程序的内容。它只需要向应用程序添加一些库或jar。
    import org.springframework.boot.*;
    import org.springframework.boot.autoconfigure.*;
    import org.springframework.stereotype.*;
    import org.springframework.web.bind.annotation.*;
    
    import javax.servlet.http.HttpServletRequest;
    
    @Controller
    @EnableAutoConfiguration
    public class SpringBootSampleApplication {
    
        @RequestMapping("/")
        @ResponseBody
        @CrossOrigin
        String home() {
            return "Hello World!";
        }
    
        /** Receives a POST request on path / with parameter name. Will return parameter
         * 
         * @param request
         * @return */
        @RequestMapping(value = "/", method = RequestMethod.POST)
        @ResponseBody
        @CrossOrigin // this will allow requests origination from any domain. see CORS
        String greet(HttpServletRequest request) {
            return "Greetings: " + request.getParameter("name");
        }
    
        /** starts the application
         * 
         * @param args
         * @throws Exception */
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SpringBootSampleApplication.class, args);
        }
    }