从Javascript/HTML调用Java

从Javascript/HTML调用Java,javascript,java,html,Javascript,Java,Html,我想在HTML文件中调用我的Java方法,但我不知道如何调用 下面是Java类: package-GET; 导入com.fasterxml.jackson.core.type.TypeReference; 导入com.fasterxml.jackson.databind.ObjectMapper; 导入org.apache.commons.collections4.MultiValuedMap; 导入org.apache.commons.collections4.multimap.ArrayLi

我想在HTML文件中调用我的Java方法,但我不知道如何调用

下面是Java类:

package-GET;
导入com.fasterxml.jackson.core.type.TypeReference;
导入com.fasterxml.jackson.databind.ObjectMapper;
导入org.apache.commons.collections4.MultiValuedMap;
导入org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.net。*;
导入java.util.*;
公共类产品控制器{
public MultiValuedMap fahrradlenker=new ArrayListValuedHashMap();
public MultiValuedMap flatbarlenker=new ArrayListValuedHashMap();
public MultiValuedMap rennradlenker=new ArrayListValuedHashMap();
public MultiValuedMap bullhornlenker=new ArrayListValuedHashMap();
@抑制警告(“重复”)
public void lenkertyp()引发IOException{
ObjectMapper mapper=新的ObjectMapper();
URL URLFGETREQUEST=新URL(“https://www.maripavi.at/produkt/lenkertyp");
字符串readLine=null;
HttpURLConnection connection=(HttpURLConnection)urlfagetrequest.openConnection();
connection.setRequestMethod(“GET”);
int responseCode=connection.getResponseCode();
if(responseCode==HttpURLConnection.HTTP\u确定){
BufferedReader in=新的BufferedReader(
新的InputStreamReader(connection.getInputStream());
StringBuffer响应=新的StringBuffer();
而((readLine=in.readLine())!=null){
append(readLine);
}in.close();
字符串lenker=response.toString();
List List=mapper.readValue(lenker,newTypeReference(){});

对于(inti=0;i,您无法直接从JavaScript中使用Java声明的类和函数

鉴于此,您有3个主要选项:

  • 使用JavaScript重新编写Java类和函数。这是可能的,除非您需要任何DB/FS操作或存储机密信息(如API机密)
  • 将Java功能拆分为可重用的一次性操作(例如:将字符串写入DB表),将这些函数作为API公开,从前端使用JS。此选项很难从头开始正确实现,因此如果需要,很可能需要使用某种框架
  • 根据您的目的,您可能还希望使用

  • 从UI进行ajax调用,用Java编写处理程序,并用UI中所需的值进行响应,有关详细信息,请访问: