私は HTTP リクエストを処理し、それに対して何らかの処理を行いたいと考えていました。次のことはできますか?
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/soap+xml;charset=utf-8");
char[] cbuf = new char[10000];
PrintWriter out = response.getWriter();
InputStreamReader in = new InputStreamReader(request.getInputStream());
in.read(cbuf,0,10000);
int req_len = request.getContentLength();
String inputLine = new String(cbuf);
Spoof sp = new Spoof();
String xml_response = sp.spoof_second(inputLine.substring(0, req_len), request.getParameter("mode"));
out.println(xml_response);
}
null 応答が返ってきたので、関数 spoof_second() を呼び出す方法があるかどうか知りたいと思いました。
私の web.xml は次のようになります。
<?xml version="1.0"?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>home</servlet-name>
<servlet-class>website.web.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>home</servlet-name>
<url-pattern>/home</url-pattern>
</servlet-mapping>
[http://localhost:4321/website/home?mode=record] にリクエストを送信しているので、モードは正しく、inputLine も正しいので、印刷して確認しました。私が確信していないのは、関数呼び出しが行われていないと思うので、Eclipse でプロジェクト全体をビルドする方法です。例外は発生せず、null コンテンツの HTTP 200 OK 応答を受け取ります。