2011-04-13 16 views
7

पर्यावरण NetBeans 6.9.1, ग्लासफिश 3.1हो रही सर्वर पता और आवेदन नाम

मैं एक जावा वेब अनुप्रयोग है। सर्वर पता और एप्लिकेशन नाम गतिशील रूप से कैसे प्राप्त करें? '2in1' समाधान मेरे लिए सबसे अच्छा होगा: http://localhost:8080/AppName/

क्या यह जानकारी प्राप्त करने का कोई व्यावहारिक तरीका है?

EDIT मान लें कि AppName का मान तय किया जाएगा, इसलिए मुझे केवल होस्ट पता चाहिए। क्या यह जेएमएक्स के माध्यम से इसे पुनर्प्राप्त करना संभव है? कोई अन्य तरीका?

अग्रिम धन्यवाद, डैनियल

उत्तर

29

HttpServletRequest वस्तु आप दे देंगे की तरह प्राप्त कर सकते हैं कि तुम क्या जरूरत है:

  • HttpServletRequest#getLocalAddr(): सर्वर एक स्ट्रिंग के रूप में आईपी पता
  • HttpServletRequest#getLocalName(): एस का नाम सर्वर का नाम उस अनुरोध
  • HtppServletRequest#getLocalPort() को भेजा गया था: पोर्ट सर्वर
  • HttpServletRequest#getServerPort() पर अनुरोध प्राप्त हुआ: erver अनुरोध
  • HttpServletRequest#getServerName() प्राप्त बंदरगाह अनुरोध
  • HttpServletRequest#getContextPath() भेजा गया था: पथ का हिस्सा जो
+0

ध्यान देना !! वह ग्राहक सूचनाएं है !!!! – Ging3r

+10

@ Ging3r नहीं। यह नहीं है। शायद आपको ध्यान देने और उपयुक्त दस्तावेज पढ़ने के बारे में अपनी सलाह पर ध्यान देना चाहिए? –

3

एक सर्वलेट अंदर आप इसे इस

public static String getUrl(HttpServletRequest request) { 
    return request.getRequestURL().toString(); 
} 
+5

की पहचान करता है जो पूर्ण अनुरोध url देता है, न केवल संदर्भ पथ। –

संबंधित मुद्दे