私は最近、Netbeans 7.3 にアップグレードしましたが、そのプロジェクト構成とインターフェースの多くがわかりません。たとえば、以前は Java クラスを含むソース パッケージを表示していましたが、今では [ファイル] パネルでしか表示できません。batchQueryServlet という HTTP サーブレットを含む batchUtility というパッケージがあります。
jQuery.ajax() 関数を使用して JSON を batchQueryServlet に投稿する必要があり、サーブレットをマップできません。
Netbeans 7.3 には構成ファイルが含まれていないため、web-inf フォルダー > new > web.xml ファイルをクリックして自分で作成し、次のように記述しました。
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>batchQueryServlet</servlet-name>
<servlet-class>/batchUtility.batchQueryServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>batchQueryServlet</servlet-name>
<url-pattern>/batchQueryServlet</url-pattern>
</servlet-mapping>
</web-app>
それでも、リクエストを発行すると、404 エラーが発生します。
$.ajax({
url: "/batchQueryServlet",
contentType: 'application/json',
data: json,
Accept: "text/html",
success: function(data, textStatus, jqXHR) {
alert(data);
},
type: "POST"
});
サーブレット名を呼び出すと classNotFound 例外が発生するため、クラスが見つからないことは確かです。どうすれば修正できますか?(迅速で汚い解決策はJSPを使用することですが、私はむしろそれをしたくありません)。
PS: Tomcat のバージョン 7.0.34 を使用しています。
編集問題は、プレーンフォルダーの代わりに.javaクラスを保存するために適切なsrc/javaパスを使用する必要があることでした(これがパッケージを表示できなかった理由です)。今、私はそれを修正しました。とにかくお時間をいただきありがとうございます!