【问题标题】:What does (String args []) mean? [closed](String args []) 是什么意思? [关闭]
【发布时间】:2012-01-03 05:56:15
【问题描述】:

我有这个在File.java:

 public static void main(String args[]) throws Exception_Exception {
    URL wsdlURL = CallSService.WSDL_LOCATION;
    if (args.length > 0) { 
        File wsdlFile = new File(args[0]);
        try {
            if (wsdlFile.exists()) {
                wsdlURL = wsdlFile.toURI().toURL();
            } else {
                wsdlURL = new URL(args[0]);
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();

我想把它转移到一个 JSP 文件中,所以我喜欢这样:

List<String> Search(String keyS){

if(keyS!=null){
QName SERVICE_NAME = new QName("http://ts.search.com/", "callSService");





String arg=??????????????;

URL wsdlURL = CallSService.WSDL_LOCATION;

File wsdlFile = new File(arg);
try {
    if (wsdlFile.exists()) {
        wsdlURL = wsdlFile.toURI().toURL();
    } else {
        wsdlURL = new URL(arg);
    }
} catch (MalformedURLException e) {
    e.printStackTrace();
}

我想用arg 替换args[0](String args[]) 是什么意思?我该如何替换它?

【问题讨论】:

  • Exception_Exception?继续前进...
  • String args[] 表示您有一个名为 args 的数组,类型为 String。你有什么问题?
  • 我可以在这个数组中找到什么因为我想使用他的值

标签: java mean args


【解决方案1】:

String args[] 是从命令行传入的字符串数组。

所以,如果您使用 java MyApp arg1 arg2 启动您的应用程序

那么args[] 将包含 => ["arg1", "arg2"]

Java 会自动拆分以空格分隔的参数,这样它就知道你传入了多少个参数。

【讨论】:

  • 那么我怎样才能在我的例子中替换它??
  • 不确定,因为我不熟悉 JSP。据我所知,戴夫的回答似乎是正确的选择。
【解决方案2】:

不要在 JSP 中这样做:(

不要将您的功能放在main 中,这会造成混淆:public static void main 通常是程序的入口点,而不是通用方法。您可以使用它作为一个,但 IMO 它具有误导性。

相反,创建一个您可以使用所需参数调用的实例方法。它可能是一个static 方法,但这会产生一些不灵活,使测试变得更加困难。将代码嵌入到 JSP 中也会增加测试难度。

您需要使用ServletContext.getRealPath() 来获取相对于网络应用程序的文件,除非您提供的是绝对路径。如果文件“嵌入”在应用程序中(在类路径上),您将需要使用 resourceAsStream 变体之一。

【讨论】:

  • 我在 Web 服务上使用 jsp,所以我必须这样做,我只需要在我的方法中使用 args[0] 的值
  • 再一次:不要在main 函数中这样做——创建一个普通函数,传入你需要的任何参数。我不明白这个问题。
猜你喜欢
  • 2019-11-23
  • 1970-01-01
  • 2014-02-24
  • 2010-12-29
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多