【问题标题】:Change URL opened by Eclipse when running web application project on Tomcat在 Tomcat 上运行 Web 应用程序项目时更改 Eclipse 打开的 URL
【发布时间】:2016-08-08 09:17:15
【问题描述】:

我有以下设置:

  • Eclipse 动态 Web 应用程序项目
  • Tomcat 7 在 Eclipse Mars 中配置为服务器
  • https 在端口 8443 上运行

现在,右键单击 Project -> Run as -> Run on Server 将启动 Tomcat 并通过外部浏览器打开 URL“http://localhost:8080/mywebapp”。这很好,但我需要使用 HTTPS 方案打开 URL,即“https://localhost:8443/mywebapp”。任何人都知道如何在 Eclipse 中配置它?我认为必须可以更改启动 URL,但找不到选项,也找不到 SO。

类似的问题及其答案建议将 web.xml 设置为安全约束并将传输保证设置为机密,但我不想更改 web.xml,因为它在生产环境中会有所不同。

我也尝试让 Tomcat 从 HTTP 8080 重定向到 HTTPS 8443,但这似乎是不可能的。

【问题讨论】:

  • 您是否需要 SSL?如果您需要 SSL,这不仅仅是更改端口的问题,还有很多其他的东西。在 apache 上设置 SSL 并将其代理到 Tomcat 也很常见。顺便说一句,在 Tomcat 上的 Eclipse 中启动应用程序的首选方法是以调试模式(服务器视图、调试)启动 Tomcat,然后将您的 Web 项目拖放到服务器上。此外,单击服务器上的“打开”可为您提供更改端口和其他内容的选项。
  • 我已经配置了 SSL,正如我在设置中所写的那样。我只是想知道当我通过 Eclipse 启动我的 Web 应用程序时如何使 Eclipse 启动不是默认 URL,而是使用自定义 URL 直接跳转到我的 Web 应用程序的 HTTPS-URL。

标签: java eclipse tomcat web-applications


【解决方案1】:

这是实现此目的的一种方法,但它需要创建一个脚本。 如果您在 Windows 机器上,那么您可以使用批处理文件执行此操作;否则,shell 脚本将适用于 linux 风格。

1) 现在创建一个空脚本 - 在文件系统的某个位置(例如 run_https_url.sh 或 run_https_url.bat)

2) 打开 Eclipse 并转到 Preferences -> General -> Web Browser

将收音机切换到“使用外部网络浏览器”并点击“新建...”

现在您将创建自己的自定义 Web 浏览器,该浏览器指向您在步骤 1) 中创建的脚本

名称:随便你(我叫我的我的 HTTPS 浏览器)

位置:脚本的路径(我在 Mac 上,所以我创建了一个 shell 脚本)

参数:确保输入 %URL%(重要

点击确定并应用设置并退出。

3) 根据您的需要制作脚本。我不会提供完整的脚本,因为我不知道你在什么环境中运行,但这会让你开始并得到你想要的结果。

对于我的 run_https_url.sh,我使用的是以下内容(带 chrome):

url="$1"  ## This holds the %URL% paramter set in Eclipse
open -a "Google Chrome" $url

这是一个批量示例(带 chrome):

set url=%1  
start chrome %url% 

此时,我将从 Eclipse 中测试应用程序的运行情况,以确保目前的设置正确无误。

当然,这只是一个直接代理,不使用 https 也不使用其他端口号。这是您必须使用适当的字符串操作来制作脚本的地方。

示例:将 URL 分解为域、端口、路径等,并添加 https 和端口号,然后使用所需的 url 和浏览器调用它。

祝你好运。我希望这会有所帮助。

【讨论】:

  • 这就是解决方案。根据给出的答案,不幸的是,Eclipse 没有提供任何机制来更改每个 Web 应用程序的启动 URL。
【解决方案2】:

有办法,在conf\server.xml找到

`<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>`

默认使用,注释掉下面的注释

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />

另外,您需要设置一个密钥库。 见:configure Tomcat to support SSL or https

【讨论】:

  • 我的 HTTPS 已经在运行。我想知道如何让 Eclipse 使用该 HTTPS-URL 启动 Web 应用程序。 (见问题评论)
  • 会自动从 8080 重定向到 8443 吗?因为我之前尝试过,但没有成功。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 1970-01-01
  • 2012-08-05
  • 1970-01-01
  • 2012-03-20
  • 2011-01-05
相关资源
最近更新 更多