簡體   English   中英

如何將簡單的消息從網頁(HTML / Javascript)發送到Java應用程序?

[英]How can I send simple messages from a webpage (HTML/Javascript) to a Java application?

我有一個Java應用程序,它希望發送一個整數和一個String以便執行操作。 該程序已經編寫並且可以運行。 但是,我希望使用網頁來控制它。 因此,我希望有一個可以在用戶控制下發送此數據的網頁。 但是,我不知道該怎么做。

從HTML / Javascript向Java程序發送消息的最簡單方法是什么?

我只能訪問Java SE。

這取決於您的應用程序正在使用的協議(適配器)。 它可以是HTTP,websockets或其他東西。

我可以假設你正在談論HTTP,所以最簡單的方法就是使用form html元素和POST方法。

檢查這個

請將您的項目分成兩部分(如果有數據庫管理,則分為三部分):

  1. 服務器端-核心端。 在這里,您可以實現Java代碼。 這意味着您必須運行諸如tomcat之類的服務器。 創建新的Web應用程序項目。 包括tomcat或其他東西作為服務器。 創建一個Servlet(不要問如何創建,而是通過Internet搜索)。 在該servlet中重寫doPost方法。 在該方法中包含此代碼可為您提供有關服務器端的假設:

response.getWriter()。write(“來自服務器的問候”);

  1. 客戶端。 客戶端是實現html,js和css代碼的地方。 通過post方法將表單提交到該servlet。

如果您已經正確配置了web.xml,那么在提交此表單時,您應該收到“來自服務器的問候”。 將eclipse用作更易於配置的IDE。

您可以使用JSP / Servlet進行客戶端和服務器之間的通信。

看到這里一些基本的東西

問題:你有行家嗎? 如果沒有,我鼓勵您下載它。 很簡單: https//maven.apache.org/

如果是,請將它們添加到您的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>

現在,在具有您的主應用程序的類中,添加一些注釋和一個控制器(方法)來處理您的POST請求:

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);
    }
}

這將在端口8080上啟動Web服務器。

在此處查看此代碼示例: https : //github.com/mikibrv/spring.boot.sample

我還在資源中添加了一個小的index.html文件作為AJAX的示例。

這是一個完整的項目,在啟用了CORS的情況下生成2個端點(GET和POST),並在使用Maven(mvn全新安裝)進行構建時,會得到一個胖JAR,可以使用以下命令進行調用:java -jar target / spring.boot.sample 。罐

有關更多信息: http : //projects.spring.io/spring-boot/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM