を参照してください。 JnlpDownloadServlet(JDKで提供されているサンプル内にあるJnlpDownloadServletを参照)は、Jarファイルに対する要求を処理し、それらに対してdiffを実行します。
<servlet>
<servlet-name>JnlpDownloadServlet</servlet-name>
<servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JnlpDownloadServlet</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
のようにweb.xmlファイルを設定した場合、/ app内のファイルのリクエストはすべてこのサーブレットを経由します。これにより、ユーザーは利用可能なファイルを見るための簡単なブラウズを行うことができなくなりますが、ファイル名を知っていれば、サーブレット経由で取得要求を作成できます。
問題がある場合は、web.xmlのセキュリティ制約の設定を使用して、このサーブレットへのアクセスにセキュリティを設定することもできます。これを追加すると、javawsランチャーは、ユーザーがファイルをダウンロードする前に有効な資格情報を提供する必要があります。私はの認証方法としてBASICを使用しました。なぜなら、javawsクライアントが他のクライアントを尊重するかどうかわからないからです。
これは有益なようです。方法を探している間、友人は私に方法を言った。ここでは、ダミーのWebProjectを作成し、このプロジェクトにすべてのもの(jnlpとjar)を入れ、jarファイルを直接アクセスするのを防ぐためにweb.xmlを使用するとどうなりますか?もしそうなら、本当に可能ですか?例を挙げていただけますか? – emrahsamdan
これは何とか関連しています:http://stackoverflow.com/questions/5662288/apache-tomcat-file-download-only-after-session-authentication-jsp –
もっと簡単な解決策は、「User-Agent JNLPでない場合はダウンロードを禁止します。フィルタの動作については、http://www.ibm.com/developerworks/java/library/j-tomcat2/を参照してください。 –