⑴ tomcat 過濾器 請求不到url的值
<url-pattern>/*Log.do</url-pattern>
</filter-mapping>
有一個過濾器配置。想已Log為結尾的訪問進入此過濾器
訪問路徑如下
basicLog.do?action=init&logType=money_log&moneyType=2"
basicLog.do?action=init&logType=camp_log"
上面的web.xml配置 不會進入指定過濾器。但是改成
<url-pattern>*Log.do</url-pattern>
後 tomcat啟動會有異常 tomcat6、7都會有問題
請問腫么辦
異常為
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/gm_server]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1120)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1678)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> *Log.do in filter mapping
2013年11月14日 16:17
xiaozhu5615
5
0 0 1
⑵ MVC中設置全局過濾器,當設置了Controller過濾器時,怎麼排除內部的一些action不使用過濾器
吧你過濾器的代碼貼出來
⑶ Struts中提交表單到action中一方法執行,為什麼不會進入action直接在Filter中拋出異常
filter 是攔截器 所有的請求都要先通過filter再到action中
如果filter拋異常,就到filter裡面去看看什麼錯了
⑷ java在過濾器裡面跳轉訪問action一直進不去
被過濾器攔截了吧,應該把這個url加到不用檢查的url列表裡。
⑸ struts2攔截器,如果action不通過攔截器,是不是就不能進行方法二者的順序如何
如果action不通過攔截器就找不到 action類 更不可能找到action裡面的方法了
順序:這是web.xml中的部分配置
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
1.開啟物品器後 Java應用伺服器會自動解析xml文件
2.當頁面提交後先是通過攔截器將攔截所有的.action 然後找struct的配置文件
3.通過配置文件找到相應的action類及對應方法
4.執行action中的方法
如果覺得回答還說得過去的 話 幫忙頂一下 謝謝了
⑹ struts2中的action方法不進入,因為加入了<interceptor-ref name="token" />而引起的。
<action name="doLogin" class="loginAction" method="doLogin">
<!-- <interceptor-ref name="defaultStack" />
<interceptor-ref name="token" /> -->
<!-- 如果重復提交,跳轉到error.jsp頁面 -->
<result name="invalid.token">/cust/page/error.jsp</result>
<result name="success" >/cust/page/main/main.jsp</result>
<result name="input">/</result>
<!-- 默認攔截器必須設置,否則是不會走默認攔截器的-->
<interceptor-ref name="defaultStack" />
</action>
⑺ MVC 怎麼讓某個Action 不執行過濾器
--解決思路----------------------
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true)
}
⑻ 過濾器可以過濾各種請求而攔截器只能在struts里攔截action請求嗎
攔截器不太好,還是使用過濾器吧。許可權控制一般使用頁面來控制,使用方法控制太麻煩了內(頁面進不去就沒容法請求)。針對某種功能時,比如刪除等可以使用攔截器來實現某些特定邏輯(這個也可以用動態代理來替代)。
頁面已經展示了某項,點了卻沒有許可權,這樣的頁面太不友好了。
⑼ java 過濾器已經走完了,為什麼進不了Action
首先你代碼沒有貼,別人無法分析你到底錯在哪,其次最好的辦法還是自己找,這樣記憶深刻,原始點的通過alert(),或者system輸出一步一步查詢數據的走向,或者會用debug用debug來找,這是我找bug的方法
⑽ MVC過濾器,怎麼排除某個Action不使用Controller下的過濾器
當ActionInvoker在執行目標Action方法之前,會根據Order和Scope屬性對用於封裝ActionFilter的Filter對象進行排序。
然後根據當前ControllerContext和ActionDescriptro創建一個ActionExecutingContext對象,並將其作為參數依次調用所有ActionFilter的OnActionExecuting方法。
在這之後真正的目標Action方法被執行,ActionInvoker隨後執行後續的篩選操作。具體來說,它根據當前ControllerContext、ActionDescriptro以及Action方法執行過程中拋出的異常創建一個ActionExecutedContext對象。該ActionExecutedContext的Cancel屬性為False,如果Action方法返回一個ActionResult對象,該對象將會作為該ActionExecutedContext的Result屬性。
接下來按照相反的次序依次調用ActionFilter對象的OnActionExecuted方法,執行過程中的ActionFilter可以修改ActionExecutedContext的Result屬性。當整個ActionFilter鏈執行結束之後,ActionExecutedContext的Result屬性返回的ActionResult將會作為對當前請求的響應。右圖基本上反映了連同目標Action在內的整個ActionFilter鏈的執行過程。