Forward,redirect,以及引數傳遞問題

2021-09-24 11:21:50 字數 1386 閱讀 8801

**forward(常用)

流程:客戶端瀏覽器傳送http請求---->web伺服器接收該請求並**請求(在方法內**到了另乙個請求)---->web伺服器實現請求的**處理並執行結果(可能是另乙個action,檢視等)---->web伺服器傳送結果到瀏覽器。

**實現:return "forward:hello.action";

response.sendredirect(" "); 

引數:由於是同一次的請求,引數通過model可以從乙個請求,**到web內的另乙個請求中。

重定向redirect

流程:客戶端瀏覽器傳送http請求---->web伺服器接收該請求並**請求---->web伺服器傳送新的location以及302碼到瀏覽器---->客戶端瀏覽器檢測到302碼並傳送請求到location位址---->location位址的伺服器處理請求並返回結果---->客戶端瀏覽器。

**實現:可重定向到頁面或者特定請求中,return "redirect:/interview.html";

request.getrequestdispatcher(" ").forward(request,response);

引數攜帶: return 「redirect:/index?param1=value1″;

使用redirectattributes完成引數傳遞

redirectattributes

spring3.1版本新增的引數,用於action1中重定向到action2時的引數傳遞工作,使用時需新增配置。

redirectattributes.addattribute("param", "value");

相當於在重定向的url後拼接引數,action2.do?param=value。即重定向之後的頁面或者控制器獲取引數即可。引數暴露,有風險。

redirectattributes.addflashattribute("param", value);

通過該方式傳遞的引數,在action2中不能獲取;但是在action2跳轉到的檢視view中,可以通過el表示式獲取到action1中的引數。且只能一次獲取,即重新整理頁面之後,引數獲取不到。

flash attributes對重定向之前的引數進行了臨時儲存(通常是在session)中,並且在重定向之後被立即移除。故在重定向只有的檢視中引數可以顯示,且重新整理後丟失。

pthread create 引數傳遞指標問題

pthread create 引數傳遞指標問題 2010 11 04 15 52 linux 下常用的建立多執行緒函式pthread create pthread t thread pthread attr t attr void start routine void void args 其中第乙個...

pthread create 引數傳遞指標問題

linux 下常用的建立多執行緒函式pthread create pthread t thread pthread attr t attr void start routine void void args 其中第乙個引數用來儲存執行緒資訊,第二個引數指新執行緒的執行屬性,可以設定為null,第三個...

路由跳轉以及傳遞引數

路由的跳轉 1.this.router.push 2.使用前需確定在定義路由時定義了name this.router.push 路由傳遞引數 1.傳遞this.router.push 獲取this.route.params.search 2.通過path攜帶的引數 傳遞this.router.pus...