如何将resourcebundles与jetty一起使用? 我的问题是如何在Jetty项目中包含ResourceBundle?
我有一个名为ServletenEnvironment的Web服务项目。 ServleteEnvironment将我的服务导出为分解的war目录,其中包含: [war目录]/WEB-INF/classes/{properties files} [war目录]/WEB-INF/WEB.xml ServleteEnvironment实现JettyWeb项目中的类。 JettyWeb启动jetty服务器,如下所述:如何将resourcebundles与jetty一起使用? 我的问题是如何在Jetty项目中包含ResourceBundle?,jetty,embedded-jetty,resourcebundle,Jetty,Embedded Jetty,Resourcebundle,我有一个名为ServletenEnvironment的Web服务项目。 ServleteEnvironment将我的服务导出为分解的war目录,其中包含: [war目录]/WEB-INF/classes/{properties files} [war目录]/WEB-INF/WEB.xml ServleteEnvironment实现JettyWeb项目中的类。 JettyWeb启动jetty服务器,如下所述: Server server = new Server(port); WebAppCont
Server server = new Server(port);
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/test");
webapp.setResourceBase("[war directory]//");
HandlerList hlist = new HandlerList();
hlist.addHandler(webapp);
server.setHandler(hlist);
server.start();
最后我有一个Servlet项目,Servlet在我的ServleteEnvironments web.xml中被引用,如下所示:
<!-- Listener -->
<listener>
<listener-class>com.basicservlet.BasicListener</listener-class>
</listener>
<!-- Servlet -->
<servlet>
<servlet-name>basicServlet</servlet-name>
<display-name>Default Basic Http Servlet</display-name>
<servlet-class>com.basicservlet.BasicHttpServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Default Servlet Mapping -->
<servlet-mapping>
<servlet-name>basicServlet</servlet-name>
<url-pattern>/servlet/</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
<!-- 60 minutes -->
</session-config>
它返回null
在我的JettyWeb中,在server.start之后,我尝试:
ResourceBundle bundle = ResourceBundle.getBundle(bundleName, locale);
URL rs = this.getClass().getResource(propertiesDir);
System.out.println("Found: " + rs.toString());
它还返回null。
虽然我不相信这个办法会奏效
任何帮助都将不胜感激
Properties properties;
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("application.properties");
properties = new Properties();
properties.load(inputStream);
String value = properties.getProperty(key);
这适用于我的嵌入式jetty和application.properties,它位于类路径上尝试使用$jetty.home/resources/yourbundle.properties文件夹和$jetty.home我想你指的是war目录?因此,在我的例子中[war directory]/resources/bundle.properties提供的有关如何访问这些bundle的信息并不清楚。这里有很多类加载器,对this.getClass.getResource和ResourceBundle.getBundle的调用都应该在Servlet上下文和范围内进行,比如ServletContextListener或Servlet.init或Servlet请求。从这些作用域之外访问此信息的尝试将导致null。好的,我会尽量澄清。我将尝试编辑我的问题。