網際網路金融專案——工作日誌(一)之點滴積累

ZeroWM發表於2016-06-26

1.session的使用

取值:

CustUseruser = (CustUser)session.getAttribute(Constants.USER);

賦值:

//儲存的資訊被全域性共享,從Tomcat啟動的時候開始記錄,從Tomcat結束的時候終止。

session.getServletContext().setAttribute(custUser.getUserName(),loginTime);

//簡單Session的增刪改查

session.setAttribute(Constants.USER,custUser);

 

查詢的資料:

上下文即ServletContext,是一個全域性的儲存資訊的空間,伺服器啟動,其就存在,伺服器關閉,其才釋放。所有使用者共用一個ServletContext。所以,為了節省空間,提高效率,ServletContext中,要放必須的、重要的、所有使用者需要共享的執行緒又是安全的 一些資訊。

所謂上下文,它是用來儲存系統的一些初始化資訊。


2.ModelMaprequest.setAttribute

作用:用於傳遞控制方法處理資料到結果頁面,用於一個請求過程中傳遞處理的資料。

區別優先順序:Model和ModelMap是同一個東西,誰最後賦值的就取誰的,然後是request,最後是從session中獲取

 

3.forwardredirect的區別

Servlet:

forward方式:request.getRequestDispatcher("/somePage.jsp").forward(request,response);

redirect方式:response.sendRedirect("/somePage.jsp");

 

SpringMVC

return "redirect:/hello";

 return "forward:/hello"

forward

瀏覽器位址列中不會顯示出轉向後的地址,不會改變Request的值,如果需要再下一個頁面中能獲取新的資訊,可以通過Reuqest.setAttribute()放置一些資訊,從下一個頁面獲取。

個人理解:伺服器內部重定向,頁面去一個別的地方了,但是卻顯示給你的地址沒有變。共享上一個頁面資料。

優勢:效率高,發一次request,隱藏真實地址

redirect

瀏覽器會跳轉到相應的地址,並重寫傳送請求連線。

個人理解:重寫開啟一個新頁面,表裡如一。不能共享資料。

優勢:Redirect能夠防止某些情況下客戶端Refresh造成的一些未知後果(未驗證)


相關文章