LoggingServlet というロギング サーブレットがあり、次のように doGet および doPost メソッドをオーバーライドします。
public class LoggingServlet extends HttpServlet {
private static final long serialVersionUID = 2L;
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
...do stuff here
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
...do stuff here
}
そして、私の web.xml は次のようになります。
<servlet>
<servlet-name>LoggingServlet</servlet-name>
<servlet-class>com.example.servlets.LoggingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoggingServlet</servlet-name>
<url-pattern>/LoggingServlet/*</url-pattern>
</servlet-mapping>
そして、これはいくつかの JavaScript を実装する jsp のスニペットです。
<script>
document.getElementById("ad_div").onmousedown = function () {
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","/LoggingServlet?bookie_id=<%= request.getParameter("id") %>&app_id=<%= request.getParameter("app_id") %>",true);
xmlhttp.send();
return true;
};
</script>
Post リクエストを介して LoggingServlet を呼び出す別の jsp もあります。今私の問題:
- Post リクエストは問題なく正常に動作します
- ただし、JavaScript からの Get リクエストは 404 エラーを返します。また、Web ブラウザに完全な URL を手動で入力したところ、404 エラーが発生しました。
そんなことがあるものか?