weblogic servlet 问题(和Context有关)(100分)

  • 主题发起人 主题发起人 z1w2x3
  • 开始时间 开始时间
Z

z1w2x3

Unregistered / Unconfirmed
GUEST, unregistred user!
我的servlet 代码如下:
1 public void init(ServletConfig config) throws ServletException {
2 super.init(config);
3 try {
4 String initCtxFactory = getInitParameter(Context.INITIAL_CONTEXT_FACTORY);
5 String providerURL = getInitParameter(Context.PROVIDER_URL);
6 Properties env = new Properties();
7 env.put(Context.INITIAL_CONTEXT_FACTORY, initCtxFactory);
8 env.put(Context.PROVIDER_URL, providerURL);
.
.
.
.
.
}
编译正常,但在weblogic下运行是出现如下错误:
java.lang.NullPointerException
错误行:第7行
我怀疑是第4行的initCtxFactory值为Null
请各位大侠帮忙。
 
在jb6中跟踪调试看
 
to:all
我查了资料,好象需要一个属性文件:Servlet.properties,内容大致如下(来自于一本参考资料):
Servlet.login.code=LoginServlet
Servlet.login.initArgs=/
java.naming.factory.initial=weblogic.jndi.TengahInitialContextFactroy,/
java.naming.provider.url=t3://localhost:7001
不过
1)我不知道该文件应该放在哪里,我是使用weblogic 的 default server做测试的,应该放在:C:/bea/wlserver6.1/config/mydomain 这里吗?好象不对
2)该文件中的描述对不对?如Servlet.login.code是什么意思?“t3://”又是什么意思?我上面两行这样写对不对?
请各位帮忙》
 

1)”来自于一本参考资料“,这本资料可能说的是Weblogic5。1或者4。1的情况。在Weblogic6以后,配置参数都放在XML文件中。
不知道你 自己现在用的是Weblogic6还是Weblogic5?如果是Weblogic5,可将配置文件Servlet.properties 加到Classpath中试试。
如果用的是Weblogic6,直接配置Weblogic中的Web.xml文件。Weblogic中附带有例子:beahome/wlserver6.1/samples/examples/servlets/Helloworld2.java 和 Helloworld2.html说得很清楚。
2)T3协议是Bea公司自己定义的一种类似Http的传输协议,Bea自己公司的人说:T3协议比Http简单,快。
 
我想应该是你的代码写的有些问题吧,你参考一下下面的:
try {
// Get an InitialContext
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, "t3://localhost:7001");
return new InitialContext(h);
} catch (NamingException ne) {
myLog("We were unable to get a connection to the WebLogic server at "+url);
myLog("Please make sure that the server is running.");
throw ne;
}
 
T3是BEA WebLogic使用的一个特有的协议
它是基于(Remote Method Invocation)RMI,并对其做了一些改进,弥补了某些缺陷。
 
多人接受答案了。
 

Similar threads

后退
顶部