要配置Java EE应用程序以通过HTTPS进行通信,需要在web.xml文件中使用几行XML。
web.xml文件位于项目的WEB-INF目录中,通常在IDE生成Java EE Web应用程序时自动创建。 如果不是,您可以自己创建它。
HTTPS的动机
为Web应用程序配置安全连接的原因是为了允许应用程序与应用程序用户之间进行安全通信。 除了上述考虑之外,如果您希望应用程序使用HTTP 2协议与客户端进行通信,则需要通过HTTPS进行安全连接。
配置安全连接
在web.xml文件中的<security-constraint>元素之间配置了安全连接。 以下代码段显示了如何执行此操作的简单示例。
<security-constraint><web-resource-collection><web-resource-name>Servlet4Push</web-resource-name><url-pattern>/*</url-pattern><http-method>GET</http-method></web-resource-collection><user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee></user-data-constraint></security-constraint>
让我们依次查看每个元素:
- <web-resource-name>这是您要保护的Web资源的名称。 这很可能与应用程序的上下文根匹配。
- <url-pattern> / * </ url-pattern>这是要保护的URL
- <http-method>这是要保护的HTTP方法。 如果省略此行,则所有HTTP方法调用均受保护。
- <transport-guarantee>指定要使用的安全性约束。 机密表示应使用HTTPS。 NONE表示应使用HTTP。
这是如何在Java EE应用程序中实现HTTPS的最简单示例。
源代码
该示例的源代码可以在ReadLearnCode GitHub存储库中找到。
翻译自: https://www.javacodegeeks.com/2018/01/configuring-https-use-servlets.html