1. 程式人生 > >spring mvc 實現http非同步請求處理

spring mvc 實現http非同步請求處理

          需要注意,非同步請求是servlet 3.0及以上的特性。所以在web.xml中配置http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" 要改為3.0,還有就是spring mvc要用3.2及以上的版本。在web.xml中spring mvc的配置中加上 <async-supported>true</async-supported>,在這個位置加上: 

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-servlet.xml</param-value>
        </init-param>


    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
</servlet>

要用給spring mvc的配置中要用3.2及以上,   

    http://www.springframework.org/schema/mvc  
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> 

在spring mvc的controller上,返回值為Callable就可以實現非同步的請求了,例如:這個例子是返回map的json

@RequestMapping("/go.do")
@ResponseBody
public  Callable<Map> go(final Model model){
return new Callable<Map>() {
         public Map call() throws Exception {
             //Thread.sleep(2000);
        // ObjectMapper mapper = new ObjectMapper();
             model.addAttribute("foo", "bar");
             model.addAttribute("fruit", "apple");
             Map map=new HashMap<String, String>();
             map.put("name", "one");
             //return "views/html";
             return map;
         }
     };
}

相關推薦

spring mvc 實現http非同步請求處理

          需要注意,非同步請求是servlet 3.0及以上的特性。所以在web.xml中配置http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" 要改為3.0,還有就是spring mv

jQuery中Ajax+Spring MVC實現跨域請求

          專案開發中,某個可獨立、也可整合的子業務模組需要向外開放相關API介面,先說下專案本身使用了jersery來實現RESTful webservice以名詞形式釋出API。有意思的

Ajax+Spring MVC實現跨域請求(JSONP)

先來說說場景,JSON,這貨大家應該都懂,不懂的請自動面壁思過,那麼什麼是JSONP,不是JSON放了個P就叫JSONP,而是JSON with Padding,在進行跨域請求的時候需要的資料,什麼是跨域,打個比方:在user.weixin.com下的某個頁面下,使用者

Spring MVC原始碼(二) ----- DispatcherServlet 請求處理流程 面試必問

前端控制器 前端控制器,即所謂的Front Controller,體現的是設計模式中的前端控制器模式。前端控制器處理所有從使用者過來的請求。所有使用者的請求都要通過前端控制器。SpringMVC框架和其他請求驅動的表示層框架一樣,也是圍繞一個將請求分發到相應控制器的核心Servlet來設計的。Dispatc

使用spring非同步請求處理以及執行緒池所帶來的坑以及利用visualvm監測執行緒及效能【草稿】

前言 在開始前,請先看看: 因為涉及到執行緒,估計肉眼是沒辦法觀測的了只能用工具了。 預設執行緒池的坑 非同步web開發專題及tomcat下的spring非同步請求配置勘誤 當你按照上文高高興興地配置好非同步支援然後想要開啟高併發的人生,我只能說你圖樣圖森破

spring mvc實現登錄驗證碼

period nbsp def fine 顯示 pin asi sin current 一、實現圖形驗證碼的基礎類 VerifyCodeUtils.java,這個類是從網上摘抄的~ package com.comp.common; import java.aw

Spring MVC @RestController接收POST請求,用Map接收

@requestbody 微服務 springboot springmvc背景脫離傳統項目,使用微服務集群開發後。RestFul風格勢在必行,所以,本篇文章針對使用restful風格的編寫人員。主題restful post請求提交的參數用什麽接收?關鍵字Map、Entity內容1、首先,傳統的接收使用Http

spring mvc實現自定義註解

poi org param 運行時 onf dha ogg logs exec 實現方式:使用@Aspect實現: 1. 新建註解接口:CheckSign package com.soeasy.web.utils; import org.springframework.

spring mvc實現接口參數統一更改

com http blog src 參數 實現 技術分享 spring log 適用於post json方式提交 使用map接收的接口參數更改。 使用@Aspect實現: spring mvc實現接口參數統一更改

Spring mvc 實現jsonp和json數據類型

需要 直接 per 類的方法 blog children 接口 pre 自己 在使用springmvc開發rest接口的時候很方便,可以直接使用@ResponseBody註解,直接加在springmvc的控制器類的方法上,springmvc會直接為我們將返回

【代碼學習】Spring MVC實現用戶註冊功能

技術分享 http請求 pac 應用 idea c-s dap 適配器 新建項目 1.實驗介紹 -----------------------------------------------------------------------------------------

筆記34 Spring MVC的高級技術——處理multipart形式的數據

sof AS con dynamic 解析器 upload pro reg 任務 一、需求介紹: Spittr應用在兩個地方需要文件上傳。當新用戶註冊應用的時候,我 們希望他們能夠上傳一張圖片,從而與他們的個人信息相關聯。當用 戶提交新的Spittle時,除了文本消息以外,

[Spring]Spring Mvc實現國際化/多語言

sel hold encoding 內容 logo spring strong etl tle 1.添加多語言文件*.properties F64_en_EN.properties詳情如下: F60_G00_M100=Please select data.

Spring MVC實現原理

第一步:發起請求到前端控制器(DispatherServlet) 第二步:前端控制器請求處理器對映器(HandlerMapping)查詢處理器(Handler) 可以根據xml配置,註解進行查詢 第三步:處理器對映器向前端控制器返回Handler

PHP規範PSR15(HTTP伺服器請求處理程式)介紹

本文件描述了HTTP伺服器請求處理程式(“請求處理程式”)和HTTP伺服器中介軟體元件(“中介軟體”)的常用介面,這些介面使用PSR-7或後續替換PSR所描述的HTTP訊息。 HTTP請求處理程式是任何Web應用程式的基本組成部分。伺服器端程式碼接收請求訊息,對其進行處理並生成響應訊息。 HTTP中

Spring MVC 實現文件的上傳和下載

web.xml ack image mode 字節 jcp 兩個 Enctype group SpringMVC 中,文件的上傳,是通過 MultipartResolver 實現的。 所以,如果要實現文件的上傳,只要在 spring-mvc.xml 中註冊相應的 Multi

Spring MVC實現MultipartFile檔案上傳功能

前端 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>修改資訊</title> </head> <body

Spring MVC - 02 RequestMapping對映請求

使用 @RequestMapping 對映請求 1.SpringMVC 使用@RequestMapping 註解為 控制器 指定可以處理哪些URL 請求 2. 在控制器的 類定義 及 方法定義處 都可以標註@RequestMapping 類定義處: 提供初步的請求對映資訊。 相對於 WEB 應用的根目錄

Spring MVC實現靜態資源訪問,viewcontroller,攔截器,路徑匹配等配置

spring mvc 定製配置需要配置類繼承 一個webmvcconfigureradapter ,通過重寫這個類的方法,來完成常用的配置 包括靜態資源 , controller ,攔截器,路徑匹配的配置等等 具體程式碼如下 @Component public class WebMv

SpringMVC(6) - 控制器(4) - @RequestMapping(3) - 非同步請求處理

參考:https://docs.spring.io/spring/docs/4.3.20.RELEASE/spring-framework-reference/htmlsingle/#mvc-ann-async   Spring MVC 3.2引入了基於Servlet 3的非同步請