Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字节码注入后Tomcat类加载异常_Java_Tomcat_Http Status Code 404_Bytecode_Bcel - Fatal编程技术网

Java 字节码注入后Tomcat类加载异常

Java 字节码注入后Tomcat类加载异常,java,tomcat,http-status-code-404,bytecode,bcel,Java,Tomcat,Http Status Code 404,Bytecode,Bcel,我将invoke语句(cajolingMe.cajoleMe();)注入到的一个类(HammerHead.class)中。这个方法是一个静态方法,它从一个jar文件调用,这个jar文件由我将该jar复制到[webgoat][3]web应用程序的lib目录。 当我反编译注入的类时,没有问题,语法为true。 (插入的代码以粗体显示) 但是当我运行tomcat时,我看到了这个异常 31, 2013 12:31:59 PM org.apache.coyote.http11.Http11Protoc

我将invoke语句(cajolingMe.cajoleMe();)注入到的一个类(HammerHead.class)中。这个方法是一个静态方法,它从一个jar文件调用,这个jar文件由
我将该jar复制到[webgoat][3]web应用程序的lib目录。
当我反编译注入的类时,没有问题,语法为true。
(插入的代码以粗体显示)

但是当我运行tomcat时,我看到了这个异常

  31, 2013 12:31:59 PM org.apache.coyote.http11.Http11Protocol init 

INFO: Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080 

 jan 31, 2013 12:31:59 PM org.apache.coyote.http11.Http11Protocol init 

INFO: Initializing Coyote HTTP/1.1 on http-127.0.0.1-8443 
 jan 31, 2013 12:31:59 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 549 ms 
 jan 31, 2013 12:32:00 PM org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina <br/> jan 31, 2013 12:32:00 PM org.apache.catalina.core.StandardEngine start <br/>INFO: Starting Servlet Engine: Apache Tomcat/5.5.4 
 jan 31, 2013 12:32:00 PM org.apache.catalina.core.StandardHost start 
INFO: XML validation disabled 
 jan 31, 2013 12:32:00 PM org.apache.catalina.core.ApplicationContext log 
INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: Iorg.apache.webapp.balancer.RuleChain: Corg.apache.w bapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], Corg.apache.webapp.bal .ncer.rules.RequestParameterRule: Target param name: paramName / Target param paramUalue / Redirect URL: http://www.yahoo.com], Iorg.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
 **-Marking serv let WebGoat as unavailable Servlet /WebGoat threw load() exception 'avax.servlet.ServletException: Error instantiating servlet class org.owasp.webgoat.HammerHead**
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1020)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:886)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3817)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4079)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:755)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:886)
 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:849)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437)
 at org.apache.catalina.core.StandardService.start(StandardService.java:450)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:2010)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
 at sun.reflect.NativeMethodAccessorImpl.invokeO(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:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409) 
 jan 31, 2013 12:32:01 PM org.apache.coyote.http11.Http11Protocol start 
INFO: Starting Coyote HTTP/1.1 on http-127.0.0.1-8080 <br/> jan 31, 2013 12:32:01 PM org.apache.coyote.http11.Http11Protocol start 
INFO: Starting Coyote HTTP/1.1 on http-127.0.0.1-8443 
 jan 31, 2013 12:32:01 PM org.apache.jk.common.ChannelSocket init 
INFO: JH2: ajp13 listening on /127.0.0.1:8009 <br/> jan 31, 2013 12:32:01 PM org.apache.jk.server.JkMain start 
INFO: Jk running ID=0 time=0/11 config=null 
 jan 31, 2013 12:32:01 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 1134 ms 
312013:31:59 PM org.apache.coyote.http11.Http11Protocol init
信息:在HTTP-127.0.0.1-8080上初始化郊狼HTTP/1.1
2013年1月31日12:31:59 PM org.apache.coyote.http11.Http11Protocol init
信息:在HTTP-127.0.0.1-8443上初始化郊狼HTTP/1.1
2013年1月31日12:31:59 PM org.apache.catalina.startup.catalina load
信息:549毫秒内处理初始化
2013年1月31日中午12:32:00 org.apache.catalina.core.StandardService启动
信息:启动服务Catalina
2013年1月31日12:32:00 PM org.apache.Catalina.core.StandardEngine启动
信息:启动Servlet引擎:apache Tomcat/5.5.4 2013年1月31日中午12:32:00 org.apache.catalina.core.StandardHost启动 信息:已禁用XML验证 2013年1月31日中午12:32:00 org.apache.catalina.core.ApplicationContext日志 信息:org.apache.webapp.balancer.BalancerFilter:init():规则链:Iorg.apache.webapp.balancer.ruleChain:Corg.apache.w bapp.balancer.rules.URLStringMatchRule:目标字符串:新闻/重定向URL:http://www.cnn.com],Corg.apache.webapp.bal.ncer.rules.RequestParameterRule:目标参数名称:paramName/目标参数参数值/重定向URL:http://www.yahoo.com],Iorg.apache.webapp.balancer.rules.AcceptEverythingRule:重定向URL:http://jakarta.apache.org]] **-将serv let WebGoat标记为不可用Servlet/WebGoat引发load()异常“avax.Servlet.ServletException:实例化Servlet类org.owasp.WebGoat.HammerHead时出错”** 位于org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1020) 位于org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:886) 位于org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3817) 位于org.apache.catalina.core.StandardContext.start(StandardContext.java:4079) 位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:755) 位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) 位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) 位于org.apache.catalina.startup.HostConfig.deploy目录(HostConfig.java:886) 位于org.apache.catalina.startup.HostConfig.deploy目录(HostConfig.java:849) 位于org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474) 位于org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079) 位于org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310) 在org.apache.catalina.util.LifecycleSupport.FireLifecycleSupport(LifecycleSupport.java:119)上 位于org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011) 位于org.apache.catalina.core.StandardHost.start(StandardHost.java:718) 位于org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003) 位于org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437) 位于org.apache.catalina.core.StandardService.start(StandardService.java:450) 位于org.apache.catalina.core.StandardServer.start(StandardServer.java:2010) 位于org.apache.catalina.startup.catalina.start(catalina.java:537) 在sun.reflect.NativeMethodAccessorImpl.invokeO(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271) 位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409) 2013年1月31日12:32:01 PM org.apache.coyote.http11.http11协议启动 信息:在HTTP-127.0.0.1-8080上启动郊狼HTTP/1.1
2013年1月31日12:32:01 PM org.apache.Coyote.http11.http11协议启动 信息:在HTTP-127.0.0.1-8443上启动Coyote HTTP/1.1 2013年1月31日12:32:01 PM org.apache.jk.common.ChannelSocket init 信息:JH2:ajp13监听/127.0.0.1:8009
2013年1月31日12:32:01 PM org.apache.jk.server.JkMain开始 信息:Jk运行ID=0时间=0/11配置=null 2013年1月31日12:32:01 PM org.apache.catalina.startup.catalina start 信息:服务器在1134毫秒内启动
而webgoat站点是“HTTP状态404” 我使用
[BCEL][5]
进行注射。
问题在哪里?

我怀疑这里存在类加载问题。为了调查,你能调试你的Tomcat吗?如果是,请在ServletException上放置一个异常断点,并尝试跟踪导致它的原因(希望它是另一个信息更丰富的异常)。
  31, 2013 12:31:59 PM org.apache.coyote.http11.Http11Protocol init 

INFO: Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080 

 jan 31, 2013 12:31:59 PM org.apache.coyote.http11.Http11Protocol init 

INFO: Initializing Coyote HTTP/1.1 on http-127.0.0.1-8443 
 jan 31, 2013 12:31:59 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 549 ms 
 jan 31, 2013 12:32:00 PM org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina <br/> jan 31, 2013 12:32:00 PM org.apache.catalina.core.StandardEngine start <br/>INFO: Starting Servlet Engine: Apache Tomcat/5.5.4 
 jan 31, 2013 12:32:00 PM org.apache.catalina.core.StandardHost start 
INFO: XML validation disabled 
 jan 31, 2013 12:32:00 PM org.apache.catalina.core.ApplicationContext log 
INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: Iorg.apache.webapp.balancer.RuleChain: Corg.apache.w bapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], Corg.apache.webapp.bal .ncer.rules.RequestParameterRule: Target param name: paramName / Target param paramUalue / Redirect URL: http://www.yahoo.com], Iorg.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
 **-Marking serv let WebGoat as unavailable Servlet /WebGoat threw load() exception 'avax.servlet.ServletException: Error instantiating servlet class org.owasp.webgoat.HammerHead**
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1020)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:886)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3817)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4079)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:755)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:886)
 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:849)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437)
 at org.apache.catalina.core.StandardService.start(StandardService.java:450)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:2010)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
 at sun.reflect.NativeMethodAccessorImpl.invokeO(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:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409) 
 jan 31, 2013 12:32:01 PM org.apache.coyote.http11.Http11Protocol start 
INFO: Starting Coyote HTTP/1.1 on http-127.0.0.1-8080 <br/> jan 31, 2013 12:32:01 PM org.apache.coyote.http11.Http11Protocol start 
INFO: Starting Coyote HTTP/1.1 on http-127.0.0.1-8443 
 jan 31, 2013 12:32:01 PM org.apache.jk.common.ChannelSocket init 
INFO: JH2: ajp13 listening on /127.0.0.1:8009 <br/> jan 31, 2013 12:32:01 PM org.apache.jk.server.JkMain start 
INFO: Jk running ID=0 time=0/11 config=null 
 jan 31, 2013 12:32:01 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 1134 ms