ADI*_*YAN 1 java applet http-status-code-404
我正在开发一个在Java 1.5上编译的applet应用程序(与1.5+兼容).它包含一些资源属性文件,它们捆绑在同一个jar中,与Java包并行.
每当我通过applet访问该资源文件时,它就会向下载applet的服务器发出请求.之后,它从jar中读取文件并按原样工作,但我不希望它为这些文件提出服务器请求.
这是我的java代码访问资源文件的方式.
ResourceBundle messages = ResourceBundle.getBundle("resources/properties/Messages", locale);
Run Code Online (Sandbox Code Playgroud)
我试过两种方式访问:
ResourceBundle messages = ResourceBundle.getBundle("resources.properties.Messages", locale);
Run Code Online (Sandbox Code Playgroud)
两者都有相同的行为.
注意:这些资源在我的Web应用程序中不可用作松散资源.
我从服务器日志中获取了这些详细信息..我正在分析我的服务器日志中的404和500响应..
在404(未找到)500(服务器错误)消息可能是因为插件试图检查缓存的资源是最新的预期.为此,它需要检查上次更新资源的服务器版本的时间.
复杂的因素是资源可以预期archive在applet 的属性中提到的Jar中,或者它可以是与codebase指定路径相同的路径上的"松散文件" .因此,如果资源位于Jar的以下路径中:
/resources/properties/Messages_en_US.properties
Run Code Online (Sandbox Code Playgroud)
JVM也会检查
${codebase}/resources/properties/Messages_en_US.properties
Run Code Online (Sandbox Code Playgroud)
以及每个罐子.
要修复它们,请参阅codebase_lookup参数.这个用例需要:
<param name='codebase_lookup' value='false' >
Run Code Online (Sandbox Code Playgroud)
这告诉JVM 在类路径上没有资源存储为松散文件,只搜索Jars.它应该经常停止报告404/ 500消息(对于理解该参数的新JRE).