在加载属性文件时:其中下划线上的代码就是写法上的区别 java.io.InputStream in=context.getResourceAsStream("WEB-INF/messageresource.properties");
ps.load(in);
java.io.InputStream in_ch=context.getResourceAsStream("/WEB-INF/messageresource_ch.properties");
ps_ch.load(in_ch);这么写就好使啦!
但是为什么这么写: InputStream in=(InputStream) context.getResourceAsStream("/WEB-INF/messageresource.properties");
ps.load(in);
InputStream in_ch=(InputStream) context.getResourceAsStream("/WEB-INF/messageresource_ch.properties");
ps_ch.load(in_ch);
它就报一下错误呢?
null
java.lang.ClassCastException
at com.tag.DispatcherServlet.init(DispatcherServlet.java:85)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:887)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3850)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4122)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:850)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:614)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:315)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:835)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:723)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:393)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:792)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:502)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2343)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:392)有经验的朋友帮忙看下,解释解释下,谢谢!
ps.load(in);
java.io.InputStream in_ch=context.getResourceAsStream("/WEB-INF/messageresource_ch.properties");
ps_ch.load(in_ch);这么写就好使啦!
但是为什么这么写: InputStream in=(InputStream) context.getResourceAsStream("/WEB-INF/messageresource.properties");
ps.load(in);
InputStream in_ch=(InputStream) context.getResourceAsStream("/WEB-INF/messageresource_ch.properties");
ps_ch.load(in_ch);
它就报一下错误呢?
null
java.lang.ClassCastException
at com.tag.DispatcherServlet.init(DispatcherServlet.java:85)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:887)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3850)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4122)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:850)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:614)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:315)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:835)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:723)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:393)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:792)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:502)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2343)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:392)有经验的朋友帮忙看下,解释解释下,谢谢!
你最好能把出错在那行也标注一下。错误没有全打出来很难说。
还有第二种方法里面InputStream是不是java.io.InputStream呢?看看import是不是正确。
BTW: InputStream in=(InputStream) context.getResourceAsStream("/WEB-这里的“/”去掉后怎么样?
^是因为你这里加了个"/"吧....
路径不对了....