当前位置: 首页 > 面试题库 >

servlet的根URl

任云瀚
2023-03-14
问题内容

我想从其中一个servlet获取我的Web应用程序的根URL。

如果我将应用程序部署在“ www.mydomain.com”中,则要获取根网址,例如“
http://www.mydomain.com ”。

同样的事情,如果我将其部署在具有8080端口的本地tomcat服务器中 http://localhost:8080/myapp

谁能告诉我如何从servlet获取Web应用程序的根URL?

public class MyServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String rootURL="";
        //Code to get the URL where this servlet is deployed

    }
}

问题答案:

您确实意识到URL客户端可以看到(和/或在浏览器中键入内容),并且servlet所部署的容器所提供的URL可以大不相同吗?

但是,为了获得后者,您可以在HttpServletRequest上使用一些方法:

  • 您可以打电话getScheme()getServerName()getServerPort()getContextPath()使用适当的分隔符将它们组合起来
  • 或者,您可以呼叫并从中getRequestURL()删除。getServletPath()``getPathInfo()


 类似资料: