1. 程式人生 > >Servlet 可否也能像 Struts1/2 的 action 那樣作為一個 javaBean 在 Spring 容器裡進行管理呢?答案是肯定的。

Servlet 可否也能像 Struts1/2 的 action 那樣作為一個 javaBean 在 Spring 容器裡進行管理呢?答案是肯定的。

 HTTP的工作機制就是請求訊息和響應訊息。最簡單的情況是一個使用者輸入一個站點地址,傳送一個請求。之後,瀏覽器返回所請求的頁面,這個頁面可能是最簡單的HTML頁面,也可能是動態編譯後的頁面。如果這個頁面有錯或者不存在,則WEB伺服器則將傳送一個錯誤的資訊頁面。  WEB伺服器傳送錯誤資訊頁是因為HTTP沒有內建的處理機制,是無狀態的,傳輸協議不記憶從一個請求訊息到另一個請求訊息的任何資訊(備註:意思是說,當傳送一個請求訊息發生錯誤,由於HTTP是無狀態的,所以不能將這個發生錯誤的請求訊息傳遞給另一個請求訊息進行處理,也是請求訊息不能轉彎,必須一次傳到並得到處理)  這個特點可以保證WEB的一致性。但是,使用者常常需要記憶一些設定內容或者瀏覽過程,這就需要在web頁面或者URL中攜帶各種引數及值。HTTP請求有多種樣式。其中常用的有GET,POST,HEAD請求。 //這3個請求暫時不提了

但是對於那些需要多次提交請求才能完成的WEB操作比如購物車來說,就成了問題了。伺服器端的WEB應用程式必須允許使用者通過多個步驟才能完成全部的物品採購。在這種情況下,應用程式必須跟蹤由同一個瀏覽器傳送的多個請求所提供的資訊

package com.defonds.oauth.common.util;   import java.io.IOException;   import javax.servlet.http.HttpServletResponse;   import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageNotWritableException; import org.springframework.http.converter.json.MappingJacksonHttpMessageConverter; import org.springframework.http.server.ServletServerHttpResponse; import org.springframework.web.servlet.ModelAndView;   public class JsonView {     public static ModelAndView Render(Object model, HttpServletResponse response)     {         MappingJacksonHttpMessageConverter jsonConverter = new MappingJacksonHttpMessageConverter();           MediaType jsonMimeType = MediaType.APPLICATION_JSON;             try {             jsonConverter.write(model, jsonMimeType, new ServletServerHttpResponse(response));         } catch (HttpMessageNotWritableException e) {             e.printStackTrace();         } catch (IOException e) {             e.printStackTrace();         }           return null;     } }

---------------------  作者:Defonds  來源:CSDN  原文:https://blog.csdn.net/defonds/article/details/7419640  版權宣告:本文為博主原創文章,轉載請附上博文連結!