Vaadin的vaadinBoootstrap.js

时间:2014-04-02 07:30:04

标签: tomcat vaadin

我遇到了令人困惑的问题!

我正在使用Vaadin(7)框架来创建一些(安静的简单)应用程序。当我在Eclipse中测试它时,一切正常。但是当我将我的项目部署到Tomcat时,一些谜团开始......

当我从Manager App“运行”应用程序时,只有消息:

  

无法加载引导程序javascript:./ VAADIN / evadinBootstrap.js

但是当我手动向浏览器(Firefox)输入相同的地址时,它再次正常工作。

我对此做了一些调查,我发现有一些人有同样的问题,但没有令人满意的解决方案。

我发现只有当我使用Manager App时才有一些Cookie,当我直接调用它时,它就不存在了。

 Cache-Control  no-cache
 Content-Length 1929
 Content-Type   text/html
 Date   Wed, 02 Apr 2014 07:13:40 GMT
 Expires    Thu, 01 Jan 1970 00:00:00 GMT
 Pragma no-cache
 Server Apache-Coyote/1.1
 Set-Cookie JSESSIONID=F773E7AEDDDE7087CBF46C778CF5353A; Path=/SystematicTool-1.0.1/;  HttpOnly

VS

Cache-Control   no-cache
Content-Length  1929
Content-Type    text/html
Date    Wed, 02 Apr 2014 06:42:28 GMT
Expires Thu, 01 Jan 1970 00:00:00 GMT
Pragma  no-cache
Server  Apache-Coyote/1.1

你能否告诉我如何修复这种奇怪的行为。

2 个答案:

答案 0 :(得分:1)

尝试在web.xml中明确启用Cookie跟踪:

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>

答案 1 :(得分:1)

以下hint from the Vaadin Framework Forum帮助了我:

  

在您的部署描述符(web.xml)中,您是否将VaadinServlet映射到除“/ *”之外的其他路径?如果这样做,您还必须提供/ VAADIN / *路径的映射。

     

请参阅Vaadin(https://vaadin.com/book/-/page/application.environment.html)[...]的书中的4.8.3节。

虽然在此期间它是:

cities <- data.frame(city = c('Miami', 'Atlanta', 'New York', 'Los Angeles'),
                     lon = c(-80.1917, -84.387982, -74.005941, -118.243685),
                     lat = c(25.76168, 33.748995, 40.712784, 34.052234),
                     stringsAsFactors = FALSE)

stations <- data.frame(station = c('Orlando', 'Richmond', 'Nashville'),
                       lon = c(-81.379236, -77.436048, -86.781602),
                       lat = c(28.538335, 37.540725, 36.162664),
                       stringsAsFactors = FALSE)
cities
#          city        lon      lat
# 1       Miami  -80.19170 25.76168
# 2     Atlanta  -84.38798 33.74900
# 3    New York  -74.00594 40.71278
# 4 Los Angeles -118.24368 34.05223

stations
#     station       lon      lat
# 1   Orlando -81.37924 28.53834
# 2  Richmond -77.43605 37.54073
# 3 Nashville -86.78160 36.16266

library(geosphere)
dist_mat <- mapply(function(lon, lat, cty) distHaversine(c(lon, lat), cty), stations[,2], stations[,3], list(cities[-1]))
min_dist <- apply(dist_mat, 1, which.min)
cbind(city=cities[,1], closest_station=stations[min_dist,1])
#      city          closest_station
# [1,] "Miami"       "Orlando"      
# [2,] "Atlanta"     "Nashville"    
# [3,] "New York"    "Richmond"     
# [4,] "Los Angeles" "Nashville"