我正在開發一個使用Servlet 3.x的Web應用程序,而我沒有使用web.xml,而是使用配置註釋。我想限制在Openshift中部署的應用程序的所有流量都是HTTPS。我發現這篇文章介紹瞭如何在Tomcat中實現它(Jboss EWS)。如何在應用程序沒有web.xml時強制重定向到HTTPS
https://help.openshift.com/hc/en-us/articles/202398810-How-to-redirect-traffic-to-HTTPS-
但是最後一步涉及我改變,我沒有web.xml中。當我試圖找到替代方案時,我可以找到關於Servlet安全性的文章。有人可以幫我翻譯下面的代碼片段嗎?
A sample security-constraint directive in repo/src/main/webapp/WEB-INF/web.xml looks like:
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
我沒有使用web.xml只是爲了邁向更新的定義webapp配置的方式。如果無法通過配置實現強制重定向,我寧願將該片段添加到web.xml中。但是,web.xml與註釋配置有衝突嗎?你能給我一個如何讓他們兩個的例子嗎? – 2014-10-03 22:08:04
@SuChikki Newer並不意味着總是更好;)。確實沒有衝突,'web.xml'優先並覆蓋註釋。如何使用它們 - 您可以通過@WebServlet,@ WebFilter等配置您的Web組件,但通過web.xml堅持安全配置(例如,登錄配置,安全約束)。在部署期間,來自兩個來源的信息被合併。 – Gas 2014-10-03 22:41:23
我試過你的建議,它工作得很好。謝謝你的幫助 – 2014-10-13 03:32:17