Java サーブレットのHttpServletRequestのサンプル

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を表示

 

△上に戻る