`
gelongmei
  • 浏览: 196755 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

要想看jetty加载sevlet web.xml可以从这里debug

阅读更多
org.apache.jasper.compiler.TldLocationsCache#processWebDotXml

"qtp1031863266-28@4650" prio=5 tid=0x1c nid=NA runnable
  java.lang.Thread.State: RUNNABLE
blocks qtp1031863266-27@4649
  at org.apache.jasper.compiler.TldLocationsCache.processWebDotXml(TldLocationsCache.java:427)
  at org.apache.jasper.compiler.TldLocationsCache.init(TldLocationsCache.java:332)
  at org.apache.jasper.compiler.TldLocationsCache.getLocation(TldLocationsCache.java:292)
  at org.apache.jasper.JspCompilationContext.getTldLocation(JspCompilationContext.java:572)
  at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:497)
  - locked <0x138f> (a java.util.concurrent.ConcurrentHashMap)
  at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:579)
  at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1649)
  at org.apache.jasper.compiler.Parser.parse(Parser.java:182)
  at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:239)
  at org.apache.jasper.compiler.ParserController.parse(ParserController.java:140)
  at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:204)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:431)
  at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
  - locked <0x1381> (a org.apache.jasper.servlet.JspServletWrapper)
  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:476)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:366)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
  at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
  at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
  at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
  at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556)
  at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
  at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
  at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
  at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
  at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
  at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
  at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
  at org.eclipse.jetty.server.Server.handle(Server.java:367)
  at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
  at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
  at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
  at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
  at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
  at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
  at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
  at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
  at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
  at java.lang.Thread.run(Thread.java:722)



#####################################################################

以下是jsp解析的servlet初始化位置


"main@1" prio=5 tid=0x1 nid=NA runnable
  java.lang.Thread.State: RUNNABLE
  at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:145)
  at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:477)
  at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:293)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
  - locked <0xf2a> (a java.lang.Object)
  at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:730)
  at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:254)
  at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1238)
  at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:689)
  at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:480)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
  - locked <0xf2b> (a java.lang.Object)
  at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
  - locked <0xf2c> (a java.lang.Object)
  at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
  at org.eclipse.jetty.server.Server.doStart(Server.java:279)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
  - locked <0xf2d> (a java.lang.Object)
  at com.meizu.aid.mojo.JettyStartMojo.execute(JettyStartMojo.java:51)
  at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
  at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
  at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
  at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
  at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
  at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:601)
  at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
  at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
  at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  at org.codehaus.classworlds.Launcher.main(Launcher.java:47)




############################################
所有servlet初始化的地方
org.eclipse.jetty.servlet.ServletHandler#initialize
一般不写servlet也会有二个是被初始化的:
0 = {ServletHolder@3934} "helloworld" #自定义 servlet
1 = {ServletHolder@3841} "jsp"   #jetty自增实现
2 = {ServletHolder@3935} "default"  #jetty自增实现
3 = {ServletHolder@3936} "demo-web" #spring的dispatcherservlet

##############################################
JETTY 从这里开始

"main@1" prio=5 tid=0x1 nid=NA runnable
  java.lang.Thread.State: RUNNABLE
  at org.eclipse.jetty.servlet.Holder.setClassName(Holder.java:178)
  at org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitServlet(StandardDescriptorProcessor.java:286)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:601)
  at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:85)
  at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:72)
###########JETTY的这里开始加载 getWebDefault()#即webdefault.xml文件,里面配置了jspservlet,defaultservlet
#############这就要去看jetty-webapp-x.x.x.jar\org\eclipse\jetty\webapp\webdefault.xml里面的配置了
  at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:325)
  at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1236)
  at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:689)
  at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:480)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
  - locked <0xd31> (a java.lang.Object)
  at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
  - locked <0xd32> (a java.lang.Object)
  at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
  at org.eclipse.jetty.server.Server.doStart(Server.java:279)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
  - locked <0xd33> (a java.lang.Object)
  at com.meizu.aid.mojo.JettyStartMojo.execute(JettyStartMojo.java:51)
  at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
  at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
  at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
  at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
  at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
  at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:601)
  at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
  at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
  at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  at org.codehaus.classworlds.Launcher.main(Launcher.java:47)


###################################
以下是搜索JAR包中的TLD后缀文件加载到相应的命名空间中
org.apache.jasper.compiler.TldLocationsCache#scanJar(java.net.JarURLConnection, boolean, java.util.List<java.lang.String>)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics