public static String name="007"; 你把static去掉
解决方案 »
- java.util.ArrayList cannot be cast to java.lang.String
- AES中列混合需要用到的GF(2的8次方)上的域元素的乘。求解释这段代码。
- 高手解答 怎么保证截串的时候 不截取一半中文
- 页面输入项自动计算问题?
- 找工作了,谁比较了解北京中科软科技股份有限公司,求点建议
- 关于Servlet读取Html表单数据的问题
- tomcat 启动正常,但页面无法访问
- 关于struts的全局转发和全局异常(多模块下)
- resin多站点问题!!!在线等
- java 小的算法问题 成对字符匹配问题
- Spring 的一个很乖怪的问题
- Action中request.setAttribute()方法提交的参数在JSP中无法获得
是在执行不同的程序吧,和启动struts无关
应该不可能执行init()
public static String name="007";
虽然这是static的成员,但是因为(1)tomcat容器启动时加载OnePlugIn类的类加载器
和你在命令行里运行linyuan类时(2)OnePlugIn类的类加载器不是同一个,
(1)时的类加载器应该是webappX
(2)时应该是AppClassLoader
AppClassLoader是webappX的父类,不能使用子类加载器所加载的东西,所以出现上述结果
lz可以用getClassLoder()方法打印出来看看。不过你写
public class linyuan 来测试似乎没有任何意义啊
而不是"007",所以我想问一下我什么地方出了错~在这里输出的是"007"?
此OnePlugIn非彼OnePlugIn,自然name不同了
呵呵,我理解楼主的意思,如果想彻底搞明白请你先看一下java的ClassLoder
再看看tomcat的类加载器体系
两个进程明白吗就是两个jvm,进程间是不能通信的,不是线程!!!
对于同一个类,由不同的类加载器加载在jvm看来是两个不同的类,这是在同一jvm里面,请楼上不要误导人,楼主似乎是启了两个jvm进程.
是两个进程两个jvm,楼上正解