桟橋にサーブレットを展開するにはどうすればよいですか?
-
29-09-2019 - |
質問
Jetty 7.2に展開したいシンプルなサーブレットを作成しました。 Jettyが実行されており、JSPページを提供することができます http://localhost:8080/jonas/test.jsp
. 。私は桟橋を始めました java -jar start.jar
指図。
コンパイルされたサーブレットを保存しました MyServlet.class
で <my_jetty_directory>/webapps/jonas/WEB-INF/classes/MyServlet.class
そして、そのサーブレットにアクセスしようとしました http://localhost:8080/jonas/servlets/MyServlet
しかし、私は取得します HTTP 404
エラー。
HTTP ERROR 404
Problem accessing /jonas/servlet/MyServlet. Reason:
Not Found
私がしなければならないことはもっとありますか?桟橋ファイル構造のどこに配置する必要がありますか MySerlvet.class
?
私は今、シンプルを作成しました web.xml
ファイルして保存しました <my_jetty_directory>/webapps/jonas/WEB-INF/web.xml
私の桟橋を再開しましたが、うまくいきません。これが私のシンプルです web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
</web-app>
私はJSPに同様の問題を抱えていましたが、それは今解決されています: jetty webサーバーにJSPファイルを展開するにはどうすればよいですか?
解決
サーブレットをマッピングする必要があります web.xml
, 、使用 <servlet>
と <servlet-mapping>
, 、または注釈を付けます @WebServlet
サーブレット3.0を使用する場合。
他のヒント
jettyサーバーのインストールフォルダーまたはlibまたはbinまたはconfサブフォルダーにconfigまたはreadme.txtファイルがあるはずだと思います。それらを読んでください、そして、あなたはあなたのクラスを置くために特定のディレクトリを取得します。 Jetty Serverでクラスディレクトリを設定するか、少なくともそれを覚えておいてください。これらは、Jettyサーバーが実行されるときに実行されるクラスになります。
ClassPathに関しては、Javaには、指定フォルダーからクラスを実行するように言われる方法があります。 A-を追加できます。
* "." at the end of classpath variable in WINDOWS NT platform
* set CLASSPATH=%CLASSPATH%;. in command mode or AUTOEXEC.bat of other WINDOWS
* set CLASSPATH=%CLASSPATH%:. and export CLASSPATH in linux
これとともに、 "。" -FullStop、ClassPath変数では、その現在のDirecoryのクラスをJavaコマンドを実行するようにします。