电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

淘宝网表现层设计分析


发布日期:2022/7/1
 

前几天突然发现淘宝网访问非常慢而且出错(出现异常)猜测是淘宝网在发布新版本时出现错误或是某个服务器出现异常但淘宝网的工程师在输出错误时生成了客户端注释掉的Java异常信息(包含在<!>之间)虽然在画面上是看不到的但查看源代码就可以清楚的看到这个Java出错信息

淘宝网采用阿里巴巴自己开发的一个MVC框架动态网页(jhtml页面)的通用入是口WebxControllerServlet最终调用/执行模版是在TemplateModule的子类中完成的然后在Module执行完成后跳转到一个视图(JSP文件)在Servlet和Module中是通过Valve的职责链处理

淘宝网部分类图

一个Web请求的基本处理流程是

客户端发出Web请求

WebxControllerServlet

PerformScreenTemplateValve

TemplateModule

附(本文基于下面的异常分析)

Exception: comalibabawebxWebxException: Failed to execute screen: homeMyTaobao (template:

screen/home/myTaobaovm)

at comalibabawebxWebxControllerServlethandleRequest(WebxControllerServletjava:)

at ntrollerAbstractWebxControllerServletdoGet(AbstractWebxControllerServletjava:)

at javaxservlet(HttpServletjava:)

at javaxservlet(HttpServletjava:)

at orgreApplicationFilterChaininternalDoFilter(ApplicationFilterChainjava:)

at orgreApplicationFilterChaindoFilter(ApplicationFilterChainjava:)

at comalibabawebxfilterrundataRunDataFilterdoFilter(RunDataFilterjava:)

at comalibabawebxfilterAbstractFilterdoFilter(AbstractFilterjava:)

at orgreApplicationFilterChaininternalDoFilter(ApplicationFilterChainjava:)

at orgreApplicationFilterChaindoFilter(ApplicationFilterChainjava:)

at monwebxfilterRemoteAddrFilterdoFilter(RemoteAddrFilterjava:)

at comalibabawebxfilterAbstractFilterdoFilter(AbstractFilterjava:)

at orgreApplicationFilterChaininternalDoFilter(ApplicationFilterChainjava:)

at orgreApplicationFilterChaindoFilter(ApplicationFilterChainjava:)

at comalibabawebxfiltertimerTimerFilterdoFilter(TimerFilterjava:)

at comalibabawebxfilterAbstractFilterdoFilter(AbstractFilterjava:)

at orgreApplicationFilterChaininternalDoFilter(ApplicationFilterChainjava:)

at orgreApplicationFilterChaindoFilter(ApplicationFilterChainjava:)

at orgjbosswebtomcatfiltersReplyHeaderFilterdoFilter(ReplyHeaderFilterjava:)

at orgreApplicationFilterChaininternalDoFilter(ApplicationFilterChainjava:)

at orgreApplicationFilterChaindoFilter(ApplicationFilterChainjava:)

at orgreStandardWrapperValveinvoke(StandardWrapperValvejava:)

at orgreStandardContextValveinvoke(StandardContextValvejava:)

at orgjbosswebtomcatsecuritySecurityAssociationValveinvoke(SecurityAssociationValvejava:)

at orgjbosswebtomcatsecurityJaccContextValveinvoke(JaccContextValvejava:)

at orgreStandardHostValveinvoke(StandardHostValvejava:)

at orgapachecatalinavalvesErrorReportValveinvoke(ErrorReportValvejava:)

at orgjbosswebtomcatservicejcaCachedConnectionValveinvoke(CachedConnectionValvejava:)

at orgreStandardEngineValveinvoke(StandardEngineValvejava:)

at orgnnectorCoyoteAdapterservice(CoyoteAdapterjava:)

at yoteajpAjpAprProcessorprocess(AjpAprProcessorjava:)

at yoteajpAjpAprProtocol$AjpConnectionHandlerprocess(AjpAprProtocoljava:)

at orgapAprEndpoint$Workerrun(AprEndpointjava:)

at javalangThreadrun(Threadjava:)

Caused by: comalibabaservicepipelinePipelineException: Failed to execute screen: homeMyTaobao (template:

screen/home/myTaobaovm)

at comalibabaturbinepipelinePerformScreenTemplateValveperformScreenModule

(PerformScreenTemplateValvejava:)

at comalibabaturbinepipelinePerformScreenTemplateValveinvoke(PerformScreenTemplateValvejava:)

at comalibabaturbinepipelineAbstractValveinvoke(AbstractValvejava:)

at comalibabaservicepipelineDefaultPipelineinvokeNext(DefaultPipelinejava:)

at comalibabaservicepipelineDefaultPipelineinvoke(DefaultPipelinejava:)

at comalibabaturbinepipelineChooseValve$ConditioninvokeSubPipeline(ChooseValvejava:)

at comalibabaturbinepipelineChooseValveinvoke(ChooseValvejava:)

at comalibabaturbinepipelineAbstractValveinvoke(AbstractValvejava:)

at comalibabaservicepipelineDefaultPipelineinvokeNext(DefaultPipelinejava:)

at comalibabaservicepipelineDefaultPipelineinvoke(DefaultPipelinejava:)

at comalibabaservicepipelineTryCatchFinallyValveinvokeTryPipeline(TryCatchFinallyValvejava:)

at comalibabawebxWebxControllerServlethandleRequest(WebxControllerServletjava:)

more

Caused by: comalibabawebxWebxException: [MyTaobao] Response is null or failed

at comtaobaowebmytaobaomodulescreenhomeMyTaobaoexecute(MyTaobaojava:)

at comalibabaturbinemoduleTemplateModuleexecute(TemplateModulejava:)

at comalibabaturbinepipelinePerformScreenTemplateValveperformScreenModule

(PerformScreenTemplateValvejava:)

more

上一篇:全面认识JVM垃圾回收机制

下一篇:SDK、JDK、JRE 和JVM 之间的关系