HTTP GETハイパーリンクから呼び出せる
パラメーターはクエリ情報として追加できる
HTTP POST
パラメータはボディに格納して送信される。
HTML ファイルからサーブレットへ送信
ハイパーリンク(GET)
<a href="/SCWCD/Sample2?message=Hi everyone">Sample2</a>
Hi everyone がサーブレットで表示される
form で送信(GET)
<form action="/SCWCD/Sample2">
<input type="text" name="message" size="30" maxlength="15" /><br />
<input type="submit" value="送信"/>
</form>
form の method 属性のデフォルトは get
入力したテキストがサーブレットで表示される
次のサンプルはサーブレットで doGet メソッドを定義していませんが、
service メソッドをオーバーライドして doPost を定義しています。
全てのリクエストは service を通るのでそこから doPost が呼び出されるので正常に動く。
Sample2.java
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.*;
import javax.servlet.http.*;
public class Sample2 extends HttpServlet {
@Override
public void service(ServletRequest req, ServletResponse res) {
try {
doPost((HttpServletRequest)req, (HttpServletResponse)res);
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
PrintWriter out = res.getWriter();
out.println("<html><body>");
out.println(req.getParameter("message"));
out.println("</body></html>");
}
}
0 件のコメント:
コメントを投稿