java蓄積--クライアントアクセスのurlとドメイン名を取得する--EL式アドレスバーアドレスとjspはどうやってサーバ情報を取得しますか?

5533 ワード

ウェブページにアクセスするホストipは123.10.323.12です。
ウェブページのサーバーipは10.0.4.214です。
 
JAVAドメイン名またはip関連情報の取得方法
request.getServerName()

          ,         IP  :10.0.4.214

request.getServerPort()

          :8081

request.getRemoteHost()

      (   )  ,       IP:123.10.23.12,                    localhost    ,         0:0:0:0:0:0:0:1,    host     。

request.getRemoteAddr()

      (   )IP  :123.10.23.12,  

request.getLocalName()

    (   )  ,       IP:10.0.4.214,                    localhost    ,         0.0.0.0,    host     。

request.getLocalAddr()

    (   )  ,       IP:10.0.4.214,  

request.getLocalPort()

    (   )  :8081

InetAddress.getLocalHost().getAddress()

    (   )IP(    ):[10, 0, 2, 88] 

      :        windows         IP, ,      linux,      [127, 0, 0, 1] 。

request.getRequestURL()

          :https://10.0.4.214:8081/vasportal/index.action

request.getRequestURI()

          :vasportal/index.action

request.getContextPath()

          (        ): /vasportal

request.getServletContext().getRealPath("/temp")

     webapp  temp   


request.getServletPath()

       servlet     :index.action

request.getProtlcol()

           :HTTP/1.1

request.getScheme()

           :https
 
 
使用方法-バックエンド
@Controller
@RequestMapping(value="/test")
public class TestControllor {

    Logger logger = Logger.getLogger(TestControllor.class);

    @ResponseBody
    @RequestMapping(value="/blog", method=RequestMethod.GET)
    public String operation(HttpServletRequest request){
         
String url = "http://" + request.getServerName() //     
                    
+ ":" 
                    
+ request.getServerPort()//   
                    
+ httpRequest.getContextPath()      //    
                   
 + httpRequest.getServletPath()      //         
               
 + "?" + (httpRequest.getQueryString()); //  
        
        System.out.println(url);
        
        return "";
    }
}
使い方--フロントエンド
 

  







           
 

時々私たちはjspページで現在の住所を取得する必要があります。Js以外の取得)
 
ブラウザのアドレスバーに入力されたアドレスを取得します。
EL式取得
 
 ${requestScope['javax.servlet.forward.request_uri']}
または
 
 
${pageContext.request.getAttribute("javax.servlet.forward.request_uri")}
 
 
 
 
 
 
 
 
javaスクリプトの取得
 

 
 
 
 
 
 
ps注意事項
TomcatとWas 7のservlet標準の実現は同じではない。大きな違いがあり、最終的な結果にも違いがあります。本論文で言いたいのはrequest.getAttributeです。uri")呼び出しの結果はその違いの一つです。Tomcat環境下でjavax.servlet.forward.request_uriが格納されているのは、現在の要求経路であるが、was 7に格納されているのは、前の要求の経路である。
 
 
 
 
ブラウザのアドレスバーの入力先の要求パラメータを取得します。
たとえば:http://localhost:8080/test/hello?name=joenameを取得
EL式取得
 
${param.name}
 
 
 
 
 
javaスクリプトの取得
 
 
 
 
 
 
 
 
 
 
 
 
現在のページの絶対パスを取得
javaスクリプト
 
 

 

 

String   url=request.getScheme()+"://";   
  url+=request.getHeader("host");   
  url+=request.getRequestURI();   
  if(request.getQueryString()!=null)   
      url+="?"+request.getQueryString(); 

 

 

EL

 

 

 

 

${pageContext.request.requestURL}

 

 

 

 

 

 

 

EL

 

${pageContext.request}                  |      
${pageContext.session} | session
${pageContext.request.queryString} |
${pageContext.request.requestURL} | URL ,
${pageContext.request.contextPath} | web application
${pageContext.request.method} | HTTP (GET、POST)
${pageContext.request.protocol} | (HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} |
${pageContext.session.new} | session , session, server client
${pageContext.session.id} | session ID
${header["User-Agent"]}|
${header["Host"]}|IP
${pageContext.request.remoteAddr } | IP
${pageContext.servletContext.serverInfo}|
${pageContext.request.serverPort}|
${pageContext.request.serverName}|
${pageContext.request.remoteHost}|

 

 

 

 

 

java