0
我有一個以編程方式配置的碼頭服務器。我從9.3.7升級到9.4.7,現在使用空格的上下文路徑不再起作用。Jetty 9.4 ServletContextHandler.setContextPath行爲或請求數據更改
因此servicePath =「/ Foo/Bar One Two」,並且請求有適當的%20替換空格。我的日誌顯示的請求 「」 GET //本地主機:8180 /富/酒吧%20One%20Two/foobar的HTTP/1.1" 。
我的服務器具有唯一的區別是上下文路徑的兩個相同的servlet
?發生了什麼變化這可能是在資源路徑呈現給servlet的方式
我的代碼指定上下文路徑是這樣的:。
ServletHolder holder = new ServletHolder(...);
ServletContextHandler handler = new ServletContextHandler();
handler.setContextPath(servicePath);
handler.setVirtualHosts(connectors);
handler.addServlet(holder, "/*");
contextHandlers.addHandler(handler);
所以現在要求org.eclipse.jetty.server .Request的URL信息在不是之前編碼。
- 請求org.eclipse.jetty.server.Request中的URL(originalURI)是否保證完全編碼?
- 顯然ServletContextHandler.setContextPath()接受未編碼的路徑。它是否同時接受?
感謝
它看起來像request.getContextPath()現在返回一個編碼路徑。這是有保證的嗎? –