Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在apache tapestry中的应用程序启动时查找端口号_Java_Jetty_Tapestry - Fatal编程技术网

Java 如何在apache tapestry中的应用程序启动时查找端口号

Java 如何在apache tapestry中的应用程序启动时查找端口号,java,jetty,tapestry,Java,Jetty,Tapestry,我有一个Apache tapestry应用程序,它在Jetty服务器下运行。因此,可以在请求对象的请求期间获取正在运行的HTTP服务器的端口号。但我需要找出程序启动期间服务器运行的端口号(在AppModule中的某个位置)。是否有某种方法可以通过编程方式获取此信息?我试图在服务中访问@Symbol(symbolstants.HOSTPORT)字符串HOSTPORT,但这不起作用。它只给出0。显然,0意味着我应该从请求中查找端口号 我之所以需要它,是因为我需要在其他服务可以访问的某些数据库中写入此

我有一个Apache tapestry应用程序,它在Jetty服务器下运行。因此,可以在请求对象的请求期间获取正在运行的HTTP服务器的端口号。但我需要找出程序启动期间服务器运行的端口号(在AppModule中的某个位置)。是否有某种方法可以通过编程方式获取此信息?我试图在服务中访问@Symbol(symbolstants.HOSTPORT)字符串HOSTPORT,但这不起作用。它只给出0。显然,0意味着我应该从请求中查找端口号


我之所以需要它,是因为我需要在其他服务可以访问的某些数据库中写入此信息,以便它们知道此应用程序运行的端口/ip地址,并可以调用它。

我非常确定,您无法通过编程从数据库中的任何内容确定servlet容器的端口
javax.servlet
包,除了
ServletRequest
ie
getLocalPort()

Tapestry不为servlet规范中尚未包含的应用程序容器提供任何额外句柄

因此,您需要等待第一个请求进入并存储所使用的端口(推荐),或者复制您的端口配置—一次在容器的配置(jetty)中,一次在应用程序的某处(AppModule、web.xml或其他配置文件)


第三个选项(强烈不推荐)是从tapestry应用程序中查找容器的配置。请不要这样做。

请参阅tomcat的答案。。不确定你是否能为jetty做类似的事情?