-12

私はこれを持っています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();
}

args[0]をに置き換えたいarg。とは(String args[])どういう意味ですか? どうすれば交換できますか?

4

2 に答える 2

8

String args[]コマンドラインから渡された文字列の配列です。

したがって、アプリを次のように起動した場合java MyApp arg1 arg2

次にargs[]、=>が含まれます["arg1", "arg2"]

Java は、スペースで区切られた引数を自動的に分割します。これは、渡された引数の数を認識する方法です。

于 2011-11-21T18:45:05.427 に答える
4

JSPでこれをしないでください:(

機能を に入れないでください。main紛らわしいpublic static void mainです。通常、 はプログラムのエントリ ポイントであり、汎用のメソッドではありません。1 つとして使用することもできますが、IMO は誤解を招く可能性があります。

代わりに、必要な引数で呼び出すことができるインスタンス メソッドを作成します。それは方法である可能性がありますstaticが、これにはいくつかの柔軟性の欠如が組み込まれており、テストがより困難になります。コードを JSP に埋め込むと、テストも難しくなります。

ServletContext.getRealPath()絶対パスを指定しない限り、Web アプリに関連するファイルを取得するために使用する必要があります。ファイルがアプリ (クラスパス上) に「埋め込まれている」場合は、resourceAsStreamバリアントの 1 つを使用する必要があります。

于 2011-11-21T18:46:53.773 に答える