2
JFileChooser chooser = new JFileChooser();
JDialog dialog=new JDialog();
dialog.setAlwaysOnTop(true);
/*System.out.println("is always on top?"+dialog.isAlwaysOnTop());*/
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = chooser.showOpenDialog(dialog);

String path = null;

if(returnVal == JFileChooser.APPROVE_OPTION) {

    path=chooser.getSelectedFile().getAbsolutePath();

}

このコードをサーブレットのメソッドに記述しましdoGetた.Linuxサーバーにデプロイすると、次の例外が発生しました:

java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)

これを克服する方法を知っている人はいますか?

4

5 に答える 5

5

ヘッドレス例外

キーボード、ディスプレイ、またはマウスをサポートしていない環境で、キーボード、ディスプレイ、またはマウスに依存するコードが呼び出されるとスローされます。

于 2014-01-24T23:30:56.953 に答える
3

HTML フォームは次のようになります。

<form action="upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" />
</form>

次に、Apache Commons FileUploadを使用して、アップロードされたファイルをサーブレットで処理できます。詳細については、ユーザー ガイドFAQを参照してください。

于 2013-03-27T12:35:37.977 に答える
1

Web アプリケーションは通常、ヘッドレスのバックエンド サーバーで実行されます。アプレット内で実行されるもの以外の GUI は避けたほうがよいでしょう。

于 2013-03-27T12:29:40.777 に答える
-1

権限の低い Linux でこれを実行すると、次のようになります。

java.lang.RuntimeException: Failed to create component for 'frame' reason: java.awt.HeadlessException
    at Pp$_run_closure1.doCall(Pp2.groovy:17)
    at Pp.run(Pp2.groovy:15)
    at Pp$run.call(Unknown Source)
    at Pp.main(Pp2.groovy:12)
Caused by: java.awt.HeadlessException

適切な権限で実行する必要があります。

最初に最大の権限でこれを試してください:

sudo groovy MyClass.groovy

これで問題が解決するはずです。

于 2014-02-17T21:00:16.333 に答える