部署运行的问题~``
用jsp调用session bean,其中session bean里面有loginCheck()方法和getStuFlag()方法,jsp的代码如下:
String sid=(String)request.getParameter("sid");
String pw=(String)request.getParameter("pw");
LocalSession newSession = null;
int flag = 100;
int result = 100;
if (sid != null && !"".equals(sid) && pw !=null && !"".equals(pw))
{
try
{
InitialContext ic = new InitialContext();
Object obj = ic.lookup("java:comp/env/ejb/SessionRef");
LocalSessionHome home = (LocalSessionHome) obj;
newSession = home.create() ;
}catch (Exception ex) {ex.printStackTrace() ; }
result=newSession.loginCheck(sid,pw);
flag = newSession.getStuFlag(sid);
}
else {response.sendRedirect("/web/loginEor2.htm");}
if (result == 0){response.sendRedirect("/web/loginEor1.htm");}
if (result == 1)
{
request.getSession().setAttribute("sid",sid) ;
}
if (flag == 0){response.sendRedirect("/web/learn.htm");}
if (flag == 1){response.sendRedirect("/web/practise.htm");}
if (result == 2)
{
request.getSession().setAttribute("sid",sid) ;
response.sendRedirect("/web/admin.htm");
}
其中部署jsp的时候用verify工具检查会有出错提示:
--------------
FAILED TESTS :
--------------
Test Name : tests.web.elements.WebEjbReferencesElement
Test Assertion : Web archive references to other beans homes test
Test Description : Error: Class [ webTeach.ejb.LocalSessionHome ] not found in WEB-INF/classes or WEB-INF/lib.
For [ /webTeachWar ]
Error: class [ webTeach.ejb.LocalSessionHome ] cannot be found within this jar [ webTeachWar ].
Error: Class [ webTeach.ejb.LocalSession ] not found in WEB-INF/classes or WEB-INF/lib.
For [ /webTeachWar ]
Error: class [ webTeach.ejb.LocalSession ] cannot be found within this jar [ webTeachWar ].
Test Name : tests.web.elements.WebReferencesInWEBINF
Test Assertion : Web archive references to other beans test
Test Description : Error: Class [ webTeach.ejb.LocalSessionHome ] not found in WEB-INF/classes or WEB-INF/lib.
For [ /webTeachWar ]
Error: The [ webTeach.ejb.LocalSessionHome ] interface of the referenced EJB [ ejb/SessionRef ] is not packaged inside the WEB-INF directory of the war file.
然后运行jsp的时候只能跳转到loginEor2.htm页面(result==0),其他情况会显示出错信息:
java.lang.IllegalStateException
at org.apache.catalina.connector.HttpResponseFacade.sendRedirect(HttpResponseFacade.java:173)
at org.apache.jsp.loginCheck$jsp._jspService(loginCheck$jsp.java:114)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:197)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:368)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:536)
请各位指教…… 这是什么问题?该怎么解决?
问题点数:0、回复次数:8Top
1 楼jokerjava(冷血)回复于 2003-06-04 17:52:14 得分 0
这个类webTeach.ejb.LocalSessionHome没有放到classpath里
Top
2 楼one_bird(一鸟)回复于 2003-06-04 18:00:36 得分 0
学习 ,up:~)Top
3 楼sharsma(猫猫~)回复于 2003-06-04 19:54:22 得分 0
那么该怎么放到classpath里?Top
4 楼sharsma(猫猫~)回复于 2003-06-05 10:09:04 得分 0
好吧……
只要有人能告诉我这是什么错误提示,该怎么改就可以,ok?谢谢谢谢谢~```
java.lang.IllegalStateException
at org.apache.catalina.connector.HttpResponseFacade.sendRedirect(HttpResponseFacade.java:173)
at org.apache.jsp.loginCheck$jsp._jspService(loginCheck$jsp.java:114)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at org.apache.jasper.servlet.JspServlet.serviceJspFile
……………………Top
5 楼zez(思恩 闭关练功ing...)回复于 2003-06-05 10:15:43 得分 0
Class [ webTeach.ejb.LocalSessionHome ] not found in WEB-INF/classes or WEB-INF/lib.
你的类webTeach.ejb.LocalSessionHome这个包没有引入到你的classpath里!!!
这么简单的英语都看不懂吗?? :)
java.lang.IllegalStateException
这只是一个内部错误,只有改正你根本的错误,这个自然就没有了...
------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
Top
6 楼zez(思恩 闭关练功ing...)回复于 2003-06-05 10:18:23 得分 0
你的ejb发布了吗?
如果你的程序和ejb在一台机子上,ejb只要发布了就应该没有你这个错误了
如果你调用ejb的程序和ejb不在一起,那你的程序必须要引入ejb的客户包.也就是那些接口...
可以修改你的classpath.也可以直接把你的ejb包放到"WEB-INF/classes or WEB-INF/lib.
"
------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
Top
7 楼sharsma(猫猫~)回复于 2003-06-05 10:33:35 得分 0
我的程序和ejb在同一台机器上的,jar文件和war文件在同一个ear文件中,用deploytool打包部署。
我有一个不同的程序在用verify工具检查的时候也会报告同样的错误,可是运行起来却没有问题。Top
8 楼sharsma(猫猫~)回复于 2003-06-05 10:35:58 得分 0
恩、、、对部署过程不太熟悉,,也不太清楚怎么改xml文件、、、
不好意思,,帮帮忙,谢谢谢~```Top
相关问题
- EJB部署好了!! 但客户端怎么运行
- 我的Hibernate+struts部署在WEBSPHERE不能运行,TOMCAT5就正常
- 请教asp.net2.0的部署问题?为何无法正确运行?
- 那位大哥能告诉我怎样运行 weblogic 6 的部署工具!!!!
- 我怎么运行(调用)我的EJB呀(在发布和部署后)?
- 救急,在JB8下能够运行,但是部署为jar后出错!
- 如果不在WEB-INF/web.xml部署<taglib>描述符还有其他的方法可以部署并运行JSTL么?
- 100分求eclipse开发的JSP为什么部署到tomcat下不能运行。。但是部署到weblogic下是正常的/
- weblogic 上部署jsp和bean的问题。。为什么不能运行呀。。在Resin 下可以呀。。
- help!! 请教怎么把导入的jsp project,部署到tomcat上可运行?谢谢啊




