【发布时间】:2016-08-05 13:23:00
【问题描述】:
我想去
https://localhost:8080/users/pages/profile(没有服务器失败)而不是https://localhost:8080/users/pages/profile.html
所以我尝试了
ServletContextHandler pagesContext = new ServletContextHandler();
pagesContext.setContextPath("/users/pages");
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setResourceBase("./src/main/webapp/pages");
resourceHandler.setDirectoriesListed(true);
pagesContext.setHandler(resourceHandler);
pagesContext.addServlet(new ServletHolder("default", DefaultServlet.class), "*.html");
// TODO this is not working currently
jettyServer.addHandler(pagesContext);
但它不起作用!
它抱怨profile 页面不存在,但profile.html 工作正常
【问题讨论】:
-
Jetty(或任何 servlet Java Web 服务器)不支持。这种支持的任何实现都将是高度特定于 webapp 的,具有特定于该 webapp 的规则。查找要求要么需要一些复杂的缓存(为了性能),要么需要频繁的文件系统请求(简化实现,并以不平凡的方式降低性能)
-
@JoakimErdfelt,因为您是 Jetty 开发人员,您能告诉我如何将 http 请求路由到 https 吗?例如,如果用户转到
http://domain.com,则快速将他重定向到https://domain.com -
使用
SecureRedirectHandler- 提示:确保您的 HttpConfiguration 设置正确。
标签: java jetty embedded-jetty