我正在使用一些旧的jsp应用程序,并且我们正在移动服务器,因此URL已更改。我们获得的新网址中包含端口号-http://example.com:8686/theapp

现在,此行getServletContext().getInitParameter("contextName")返回example/而不是example:8686/

是否可以使用类似的功能或参数,以便将端口号显示在url中?

最佳答案

getServletContext().getInitParameter()返回给定名称的<context-param>的值,该值在web.xml中很难指定。这不是动态值。基本上,您需要编辑有问题的<context-param>以便提供“正确的”值。

要动态获取当前HTTP Servlet请求的端口号,您需要改用HttpServletRequest#getServerPort()HttpServletRequest#getLocalPort(),具体取决于您要获取的端口号:Host标头中指定的端口号,或服务器实际使用的服务器。

请注意,通常使用HttpServletRequest#getContextPath()来获取上下文名称。

关于java - getServletContext()。getInitParameter(“contextName”)不会在url中返回端口号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8510275/

10-11 18:50