4

Jetty7.2にデプロイしたい単純なサーブレットを作成しました。Jettyは実行中であり、でJSPページを提供できますhttp://localhost:8080/jonas/test.jspjava -jar start.jar私はコマンドでJettyを起動しました。

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

私がしなければならないことがもっとありますか?Jettyファイル構造のどこに配置する必要がありますMySerlvet.classか?


簡単なweb.xmlファイルを作成して保存し<my_jetty_directory>/webapps/jonas/WEB-INF/web.xml、Jettyを再起動しましたが、機能しません。これが私の簡単なものです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でも同様の問題が発生しましたが、これで解決しました。JettyWebサーバーにJSPファイルをデプロイするにはどうすればよいですか。

4

2 に答える 2

4

サーブレット3.0を使用している場合は、とweb.xmlを使用し<servlet>てサーブレットをマップする<servlet-mapping>か、またはで注釈を付ける必要があります。@WebServlet

于 2010-11-08T10:03:38.807 に答える
0

Jettyサーバーのインストールフォルダーまたはlibまたはbinまたはconfサブフォルダーにconfigまたはreadme.txtファイルがあるはずです。それらを読み通すと、クラスを配置するための特定のディレクトリが取得されます。Jettyサーバーにclassesディレクトリを設定するか、少なくとも覚えておいてください。これらは、Jettyサーバーの実行時に実行されるクラスになります。

クラスパスに関しては、javaには、指定されたフォルダーからクラスを実行するように指示される方法があります。あなたは-を追加することができます:

* "." 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変数で、javaコマンドを実行してその現在のディレクトリ内のクラスを検索します。

于 2010-11-08T09:37:19.197 に答える