-
Struts2運行流程查看全部
-
默認攔截器棧查看全部
-
默認攔截器棧 當手工引用攔截器的時候,默認的攔截器則不會啟動,如果還想使用默認的攔截器,則需要手工的引用默認攔截器查看全部
-
struts2內建攔截器二查看全部
-
struts2內建攔截器查看全部
-
自定義攔截器方式二:繼承abstractinterceptor查看全部
-
自定義攔截器的方式一查看全部
-
攔截器的執行過程查看全部
-
WEB-INF里的文件不能在web中直接訪問,而要通過action間接來訪問查看全部
-
默認攔截器查看全部
-
struts的執行流程: 1用戶發送請求到服務器,服務器通過ActionMapper執行一系列的過濾器,其中包括struts的核心過濾器StrutsPrepareAndExecuteFilter 2.ActionProxy(Action代理)通過ConfigurationManager(配置管理器)加載struts的核心配置文件struts.xml,找到需要調用的action返回給action代理 3.然后執行Action Invocation,其中包含一個或者多個攔截器,依次執行,然后才是執行Action,Action返回一個結果決定跳轉到哪個視圖或者是action(result的type屬性決定)。然后依次反向執行攔截器,之后將結果反饋給用戶查看全部
-
攔截器的必要流程查看全部
-
@TimerAction.java public class TimerAction extends ActionSupport{ @Override public String execute() throws Exception { for(int i=0;i<10000;i++){ System.out.println("訪問suceess.jsp"); } return SUCCESS; } } @TimerInterceptor.java /** * 計算執行Action花費的時間 */ public class TimerInterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation invocation) throws Exception { //1.執行Action之前 long start=System.currentTimeMillis(); //2.執行下一個攔截器,如果已經是最后一個攔截器,則執行目標Action。返回值:方法中return的值,如"success"。 String result=invocation.invoke(); //3.執行Action之后 long end=System.currentTimeMillis(); System.out.println("執行Action花費的時間:"+(end-start)+"ms"); System.out.println(result); return result; } }查看全部
-
1用戶發送請求到服務器,服務器通過ActionMapper執行一系列的過濾器,其中包括struts的核心過濾器StrutsPrepareAndExecuteFilter 2.ActionProxy(Action代理)通過ConfigurationManager(配置管理器)加載struts的核心配置文件struts.xml,找到需要調用的action返回給action代理 3.然后執行Action Invocation,其中包含一個或者多個攔截器,依次執行,然后才是執行Action,Action返回一個結果決定跳轉到哪個視圖或者是action(result的type屬性決定)。然后依次反向執行攔截器,之后將結果反饋給用戶查看全部
-
當手工引用攔截器的時候,默認的攔截器則不會啟動,如果還想使用默認的攔截器,則需要手工的引用默認攔截器查看全部
舉報
0/150
提交
取消