JavaのサーブレットのHttpServletRequestのサンプルです。
サンプル | HttpServletRequestのサンプル |
IPv6形式をIPv4形式にする場合 |
HttpServletRequestのサンプル
package com.example.test1;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/MainController")
public class MainController extends HttpServlet {
private static final long serialVersionUID = 1L;
public MainController() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestURL();
response.getWriter().append("IP=" + request.getRemoteAddr());
response.getWriter().append("URL=" + request.getRequestURL());
response.getWriter().append("URI=" + request.getRequestURI());
response.getWriter().append("ServletPath=" + request.getServletPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
19行目のひとつめの引数は、HttpServletRequestです。
http://localhost:8881/servlet-hello/MainController でアクセスします。
getRemoteAddr()
リクエストを送信したIPアドレス(IPv6形式)を返します。
0:0:0:0:0:0:0:1
getRequestURL()
クライアントが指定したURLが表示されます。
http://localhost:8881/servlet-hello/MainController
getRequestURI()
/servlet-hello/MainController
getServletPath()
/MainController
https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html
IPv6形式をIPv4形式にする場合
-Djava.net.preferIPv4Stack=true |
Tomcatの引数の最後に上記を追加します。
0:0:0:0:0:0:0:1は、127.0.0.1と表示されます。
関連の記事
Java サーブレットを作成してHello Worldを表示