Java getServletContext().getInitParameter(“contextName”)在url中不返回端口号

Java getServletContext().getInitParameter(“contextName”)在url中不返回端口号,java,servlets,port,Java,Servlets,Port,我正在使用一些旧的jsp应用程序,我们正在移动服务器,因此URL已经更改。我们收到的新url中有端口号- 现在这一行getServletContext().getInitParameter(“contextName”)返回example/,而不是example:8686/ 是否有类似的函数或参数可供我使用,以便在url中显示端口号?getServletContext().getInitParameter()返回给定名称的值,该值在web.xml中硬指定。这不是一个动态值。您基本上需要编辑有问题的

我正在使用一些旧的jsp应用程序,我们正在移动服务器,因此URL已经更改。我们收到的新url中有端口号-

现在这一行
getServletContext().getInitParameter(“contextName”)
返回
example/
,而不是
example:8686/


是否有类似的函数或参数可供我使用,以便在url中显示端口号?

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

要动态获取当前HTTP servlet请求的端口号,您需要使用或取而代之,具体取决于您希望获取的端口号:主机头中指定的端口号,或服务器实际使用的端口号


请注意,您通常使用获取上下文名称。

如果您只需要端口:

request.getLocalPort() or request.getServerPort()
如果需要端口以及IP和上下文名称:

request.getContextPath() or request.getServletPath() or request.getLocalAddr()
有关更多信息,请参阅以下链接:



getServletContext().getInitParameter()返回您在web.xml文件的init param属性中写入的值。将它更改为您想要的任何值,它将返回新值。我也在编写它之后立即发现了这一点。我查看了web.xml文件。谢谢你的信息。