我最近升級到Netbeans 7.3,並且我沒有獲得太多的項目配置和接口。例如,一旦我用Java類查看源代碼包,現在我只能在「文件」面板中看到它們。我有一個名爲batchUtility的包含一個名爲batchQueryServlet的HTTP servlet的包。在Netbeans 7.3中配置Java HTTP servlet
我必須通過jQuery.ajax()函數向batchQueryServlet發佈JSON,但我無法映射該servlet。
由於NetBeans 7.3不出貨配置文件,我已經通過自己點擊WEB-INF文件夾>新建> 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"
});
現在,我敢肯定它沒有找到類,因爲如果我調用servlet的名字,我收到了ClassNotFound的異常。我怎麼能解決這個問題? (一個快速和骯髒的解決方案將使用JSP,但我寧願不這樣做)。 PS:我使用Tomcat 7.0.34版本。
編輯問題是我應該使用適當的src/java路徑來存儲我的.java類而不是普通的文件夾(這是我看不到包的原因)。現在我已經修復了它。無論如何感謝您的時間!
哦,你是對的。不過,它不起作用。不過,我想我已經明白了這裏有什麼問題,我必須設置一個上下文。當我發佈時,我發佈到'http:// localhost:8084/batchQueryServlet',但我希望它是'http:// localhost:8084/projectName/batchQueryServlet'。我有一個context.xml文件,「<?xml version =」1.0「encoding =」UTF-8「?> '似乎不會。我試圖添加一個上下文路徑,但它仍然針對http:// localhost:8084/batchQueryServlet:/ –
發佈您對上下文部分是正確的。檢查更新。 –
謝謝,現在它工作。問題是,我仍然在ClassNotFound異常中運行,因爲它找不到batchQueryServlet。我已經在/ app_name /文件夾中使用了batchUtility文件夾,但我意識到類無法解析同一文件夾中的類,我想我在編譯時遇到了一些問題。 –