vaadin - Vaadin URL 映射
问题描述
有没有办法不输入特定的 url 映射(vaadin.urlMapping)?但是我还想使用 swagger 例如(ip:8080/swagger-ui/index.html)?从 vaadin 中排除一些映射会很棒。
谢谢你的帮助!
最好的问候,托马斯
解决方案
- 将URL/URL/IP 的一部分放在属性文件中。
- 将URL/部分 URL/IP放入web.xml 文件中。
在某些情况下,您希望远程 URL 与本地 URL 不同(或远程 SSL URL 与本地 URL 不同)。在这种情况下,我将 IP 和域都放在了 web.xml 的两个不同上下文中。
final String serverUrl = new URL("" + ((VaadinServletRequest)VaadinService.getCurrentRequest())
.getHttpServletRequest().getRequestURL()).getAuthority();
final String serverProtocol =
((VaadinServletRequest)VaadinService.getCurrentRequest()).getHttpServletRequest().getProtocol();
final boolean serverSecure =
((VaadinServletRequest)VaadinService.getCurrentRequest()).getHttpServletRequest().isSecure();
if(!serverSecure){
UI.getCurrent().getSession().setAttribute(
ResourceProperty.configBundle.getString("APPLICATION_URL"),
"http:" + serverUrl);}
else{
UI.getCurrent().getSession().setAttribute(
ResourceProperty.configBundle.getString("APPLICATION_URL"),
"https:" + serverUrl);}