お世話になっております。
「参考サイトにのっている内容を自分の環境でやってみる」を再度行いました。
すると、画面(テキストフィールド)などはそのまま表示されるのですが、
ajax自体がエラー(NotFound)でServletに処理が届かない状態になってしまいます。
jsp内のurlの部分を怪しんだり、そもそもjqueryが読み込めているかなども確認しましたが、
解決には至りませんでした。
長くなって申し訳ありませんが、ソースを記載します。
何かおかしい点があったら、ご教授願いたいです。よろしくお願いします。
/*********************************************
* ajaxtest.jsp
********************************************/
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JSON TEST</title>
<script type="text/javascript" src="${pageContext.request.contextPath}/lib/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/lib/jquery.json-2.4.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/lib/uchida.js"></script>
<!-- <script type="text/javascript" src="js/test.js" charset="utf-8"></script>-->
<script type="text/javascript">
function test(){
uchida();
}
$(function() {
var requestObj = {
message : null,
};
$("#request").click(function() {
requestObj.message = $("#message").val();
var requestJson = $.toJSON(requestObj);
alert(requestJson);
test();
koshin();
$.ajax({
type: "POST",
url : "TestServlet",
data: {requestJs : requestJson},
success : function(data) {
$("#result").append(data.responseMessage);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$("#result").append("リクエスト時になんらかのエラーが発生しました:" + textStatus +":\n" + errorThrown);
}
});
});
});
</script>
</head>
<body>
<p>サーブレットへのリクエストに投げるメッセージを入力してください。aa:</p>
<input type="text" size="30" id="message">
<input type="button" id="request" value="送信する">
<%= request.getContextPath() %>
<%= request.getContextPath()+"/lib/uchida.js" %>
<input type="button" onclick="uchida()" value="uchida" />
<input type="button" onclick="test()" value="test" />
<div id="result">
<p>結果:</p>
</div>
</body>
</html>
/*********************************************
* TestServlet.java
********************************************/
package main;
import 省略
public class TestServlet extends HttpServlet {
private final String REQUEST_STRING = "requestJs";
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String parameter = req.getParameter(REQUEST_STRING);
System.out.println(parameter);
String responseJson = "{\"responseMessage\" : \"サーブレットからの返信です\"}";
res.setContentType("application/json;charset=UTF-8");
PrintWriter out = res.getWriter();
out.print(responseJson);
}
}
/*********************************************
* web.xml
********************************************/
ヘッダー・フッター省略
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>main.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>