zoukankan      html  css  js  c++  java
  • 通過反編譯跟蹤JSP頁面

      新學 struts.今日在跟蹤一個JSP頁面錯誤 錯誤提示如下:

    View Code
    at org.apache.struts.taglib.logic.CompareTagBase.condition(CompareTagBase.java:121)
     at org.apache.struts.taglib.logic.EqualTag.condition(EqualTag.java:43)
     at org.apache.struts.taglib.logic.ConditionalTagBase.doStartTag(ConditionalTagBase.java:160)
     at jsp_servlet._air._export._jobcosting.__pop_add_cost_mawb._jspService(__pop_add_cost_mawb.java:2783)
     at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
     at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
     at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
     at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
     at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:53)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:92)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:90)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:194)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:176)
     at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
     at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:168)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
     at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:100)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
     at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:503)
     at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:251)
     at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1084)
     at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:295)
     at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:396)
     at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:348)
     at com.kln.sdk.KLNRequestProcessor.process(KLNRequestProcessor.java:410)
     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1914)
     at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:450)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
     at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
     at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
     at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
     at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:68)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:92)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:90)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
     at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:54)
     at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
     at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:176)
     at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
     at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:168)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
     at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:100)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:97)
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
     at weblogic.security.service.SecurityManager.runAs(Unknown Source)
     at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
     at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
     at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

      這個頁面總共有3000多行,而且是算年代比較久遠的代碼.裏面參數眾多,逐個慢慢排除的話,頗為不智.
    通過

     at org.apache.struts.taglib.logic.CompareTagBase.condition(CompareTagBase.java:121)
     at org.apache.struts.taglib.logic.EqualTag.condition(EqualTag.java:43)

      大致判斷出來是某個<logic:equal>的標籤出問題

      在http://www.cnblogs.com/weeky/archive/2012/11/14/JSP.html 這個篇中有介紹JSP的基本原理.出問題的JSP頁面是pop_add_cost_mawb.JSP.它對應的java類就是_pop_add_cost_mawb.class 因為我用的是weblogic 所以我們可以在weblogic的目錄下 搜索_pop_add_cost_mawb.class .

      

      找到它然後用反編譯工具打開(我用的是JAVA Decompiler 下載路徑http://download.csdn.net/detail/sadtime200/4802594).從上面錯誤堆棧中看到出問題的在2783行

      如此在結合JSP頁面的源碼 找出有問題的Tag.下面的操作就不在敘述.

  • 相关阅读:
    sprint最后冲刺-out to out
    Sprint 冲刺第三阶段第6-10天
    Sprint 冲刺第三阶段第3-5天 数据库代码
    Sprint 冲刺第三阶段第3-5天
    Sprint 冲刺第三阶段第二天
    Sprint 冲刺第三阶段第一天
    Sprint第三个计划
    代码·--四则运算的主要核心代码
    Sprint冲刺第二阶段之6---10天(下)
    Sprint 冲刺第二阶段之1---5天(上)
  • 原文地址:https://www.cnblogs.com/weeky/p/2784755.html
Copyright © 2011-2022 走看看