繁体   English   中英

java-将参数从Java类传递到servlet

[英]java - passing parameter from a java class to a servlet

我有一个特殊的业务案例,我试图将参数(变量和数组)从Java类传递到Servlet,然后从Java类调用Servlet。

我所做的是,只需在java类内部为参数全局分配其值,然后从Java类中调用servlet。 但这似乎不是一个好主意。

她是我的示例代码:

/* Assigning all the variables and array values inside a java class */

JavaClass.java
...
var1 = value1;
var2 = value2;
arr1 = {val1, val1, val3};
...

我在这里的 Oracle文档中引用URLCOnnection

问题是我不了解我们发送参数的方式。

URL url = new URL("http://localhost:8080/ProjectCharterApproval2/CharterApprover");

URLConnection connection = url.openConnection() ; 

connection.setDoOutput(true);

/** After this how should I pass parameter to the servlet as an input object or output object ? **/

任何帮助将不胜感激。

提前致谢。

尝试查询字符串以传递变量

URL url = new URL("http://localhost:8080/ProjectCharterApproval2/CharterApprover?var1="+var1+"&var2="+var2+"&var3[]="+arr1);

这种数组方法可以在php上正常工作,但不了解JAVA。 请尝试这个。

或者,如果您不想使用此功能,请尝试以下操作

class Param implements Serializable{
    private String var1;
    private String var2;
    private String []var3;
    public String getVar1() {
        return var1;
    }
    public void setVar1(String var1) {
        this.var1 = var1;
    }
    public String getVar2() {
        return var2;
    }
    public void setVar2(String var2) {
        this.var2 = var2;
    }
    public String[] getVar3() {
        return var3;
    }
    public void setVar3(String[] var3) {
        this.var3 = var3;
    }
    public Demo(String var1, String var2, String[] var3) {
        super();
        this.var1 = var1;
        this.var2 = var2;
        this.var3 = var3;
    }
}

现在在您的java类中

Param pr=new Param(var1,var2,arr1);

在任何持久性存储(如文件)中序列化此pr对象,并在servlet中反序列化该对象。

我搜索了同样的问题,也许其他人也有确切的问题,我在这里找到了可以接受的答案。

Java:如何将值从类/ bean传递到servlet

对于传递参数和/或数组的操作是通过该行完成的:

request.setAttribute("areas", areas);

类似于(“键”:值)您将要执行的请求集。

问候..

在URL本身中,我们通常在问号之后传递参数。 对于多个参数,请使用&表示法。

URL url = new URL("http://127.0.0.1:8080/ProjectCharterApproval2/CharterApprover?parameter=" + param );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM