婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 秒殺系統Web層設計的實現方法

秒殺系統Web層設計的實現方法

熱門標簽:給地圖標注得傭金 電話機器人需要使用網絡嗎 外呼系統使用方法 潤滑油銷售電銷機器人 南通通訊外呼系統產品介紹 如何看懂地圖標注點 自繪地圖標注數據 海外圖書館地圖標注點 電銷機器人免培訓

秒殺系統Web層設計的實現方法

一、Restful接口設計

使用資源+名詞的方式來為url鏈接命名。例如:

訪問詳情頁的鏈接可以是: seckill/{seckillId}/detail

二、SpringMVC配置

1、首先要在web.xml中配置中央控制器。

web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
           http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1" metadata-complete="true">

  !-- 修改servlet版本為3.1 -->
  !-- 配置中央控制器DispatcherServlet -->
  servlet>
    servlet-name>seckill-dispatcher/servlet-name>
    servlet-class>org.springframework.web.servlet.DispatcherServlet/servlet-class>
    !-- 配置springMVC需要加載的配置文件
      spring-dao.xml,spring-service.xml,spring-web.xml
      mybatis -> spring -> springMVC-->
    init-param>
      param-name>contextConfigLocation/param-name>
      param-value>classpath:spring/spring-*.xml/param-value>
    /init-param>
  /servlet>

  servlet-mapping>
    servlet-name>seckill-dispatcher/servlet-name>
    !-- 默認匹配所有的請求 -->
    url-pattern>//url-pattern>
  /servlet-mapping>
/web-app>

2、為了讓Spring管理Controller層的bean,需要新建一個spring-web.xml配置文件,

beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xmlns:conext="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-3.1.xsd">
   !--配置Spring MVC-->
   !--開啟SpringMVC注解模式-->
   !--簡化配置
   1、自動注冊DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter
   2、提供一系列功能:數據綁定,數字和日期的轉化@NumberFormat,@DataTimeFormat
     xml,json默認讀寫支持
   -->
   mvc:annotation-driven/>

   !--servlet-mapping映射路徑-->
   !--靜態資源默認servlet配置
     1、加入對靜態資源的處理:js,css,img
     2、允許使用/做整體映射
   -->
   mvc:default-servlet-handler/>

   !--配置jsp顯示viewResolver-->
   bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
     property name="prefix" value="/WEB-INF/jsp/"/>
     property name="suffix" value=".jsp"/>
   /bean>

   !--掃描web相關的bean-->
   conext:component-scan base-package="org.seckill.web"/>

/beans>

三、Controller層開發

項目中的每一個url都剛好對應著Controller層的一個方法。我們有兩種返回值類型。一種是讓頁面跳轉到某個網頁,在model中帶上從service層中獲得的數據。在下例中,前端的detail.jsp就能夠以${seckill.name}取得放在model中的sekill實體的名字。

  /**
   * 秒殺詳情頁
   * 
   * @param seckillId
   * @param model
   * @return
   */
  @RequestMapping(value = "/{seckillId}/detail", method = RequestMethod.GET)
  public String detail(@PathVariable("seckillId") Long seckillId, Model model) {
    if (seckillId == null) {
      return "redirect:/seckill/list";
    }
    Seckill seckill = seckillService.getById(seckillId);
    if (seckill == null) {
      return "forward:/seckill/list";
    }
    model.addAttribute("seckill", seckill);
    return "detail";
  }

另外一種是jsp頁面中點擊某個按鈕,通過ajax來刷新頁面的某部分,需要后端給前端一個json格式的數據。使用@ResponseBody告訴SpringMVC返回一個json類型的數據SeckillResult。由jsp頁面在JQeury的回調函數內拿到該json數據,并進行對應的操作。

@RequestMapping(value = "/{seckillId}/exposer", 
      method = RequestMethod.POST, 
      produces = {"application/json;charset=utf-8" })
  @ResponseBody
  public SeckillResultExposer> exposer(@PathVariable Long seckillId) {
    SeckillResultExposer> result;
    try {
      Exposer exposer = seckillService.exportSeckillUrl(seckillId);
      result = new SeckillResultExposer>(true, exposer);
    } catch (Exception e) {
      logger.error(e.getMessage(), e);
      result = new SeckillResultExposer>(false, e.getMessage());
    }

    return result;
  }

js代碼中回調函數的處理方式:

$.post(seckill.URL.exposer(seckillId),{},function(result){
      //在回調函數中,執行交互流程
      if(result  result['success']){
        var exposer = result['data'];
        if(exposer['exposed']){
          //開啟秒殺
          //獲取秒殺地址
          var md5 = exposer['md5'];          
          //綁定一次點擊事件,防止連續點擊
          var killUrl = seckill.URL.execution(seckillId,md5);
          console.log("秒殺地址:"+killUrl);
});         

四、請求方法的細節處理

1、請求參數的綁定

@RequestMapping(value = “/{seckillId}/exposer” 
public SeckillResult exposer(@PathVariable Long seckillId) 

2、請求方式的限制

@RequestMapping(method = RequestMethod.POST, 

3、請求轉發、請求重定向

return “redirect:/seckill/list”;(發送兩次請求,瀏覽器地址改變) 
return “forward:/seckill/list”;(發送一次請求,瀏覽器地址不變) 

4、數據模型賦值

model.addAttribute(“seckill”, seckill); 

5、返回json數據

@RequestMapping(value = “/{seckillId}/exposer”, 
method = RequestMethod.POST, 
produces = {“application/json;charset=utf-8” }) 
@ResponseBody 

6、cookies訪問

@RequestMapping(value = "/{seckillId}/{md5}/execution",
      method = RequestMethod.POST,
      produces = {"application/json;charset=UTF-8"})
  @ResponseBody
  public SeckillResultSeckillExecution> execute(@PathVariable("seckillId") Long seckillId,
                          @PathVariable("md5") String md5,
                          @CookieValue(value = "killPhone", required = false) Long phone) {...}

@CookieValue(value = “killPhone”, required = false) Long phone)

(1)value(default “”):參數名例如: JSESSIONID

(2)required(default true):是否請求路頭中必須帶value指定的參數。如果沒有設置cookies我們這個業務也要能夠訪問并讓用戶填寫相應信息,所以設為false即可。

五、其他

其實課程的這一部分在前端js交互中有很多值得學習的地方,比如JQuery的使用,js模塊化開發,js交互設計等內容。因為時間關系以及復習側重點不在js部分的原因,我就暫時不去做總結。

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • SpringBoot使用Redisson實現分布式鎖(秒殺系統)
  • springboot集成redis實現簡單秒殺系統
  • 如何通過SpringBoot實現商城秒殺系統
  • 如何設計一個秒殺系統
  • 限時搶購秒殺系統架構分析與實戰
  • Java秒殺系統:web層詳解

標簽:廣州 大連 南京 內江 黃石 貸款邀約 銅川 樂山

巨人網絡通訊聲明:本文標題《秒殺系統Web層設計的實現方法》,本文關鍵詞  秒殺,系統,Web,層,設計,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《秒殺系統Web層設計的實現方法》相關的同類信息!
  • 本頁收集關于秒殺系統Web層設計的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99re66热这里只有精品3直播| 日韩视频一区在线观看| 欧美性感一类影片在线播放| 日韩女优视频免费观看| 亚洲私人黄色宅男| 国产曰批免费观看久久久| 91黄视频在线| 国产精品美女久久久久aⅴ| 久久国产尿小便嘘嘘| 欧美视频三区在线播放| 国产欧美日韩另类一区| 另类的小说在线视频另类成人小视频在线 | 极品少妇xxxx精品少妇偷拍| 欧美综合视频在线观看| 欧美激情一区二区三区四区| 免费观看一级特黄欧美大片| 欧美日韩精品一区二区三区| 中文字幕亚洲不卡| 东方aⅴ免费观看久久av| 欧美一区二区三区色| 亚洲最色的网站| 99久久久精品免费观看国产蜜| 久久久久97国产精华液好用吗| 免费人成黄页网站在线一区二区 | 午夜精品久久久久久久99水蜜桃| 高清久久久久久| 久久久精品2019中文字幕之3| 九九九久久久精品| 欧美zozozo| 久久精品二区亚洲w码| 欧美大片拔萝卜| 免费欧美在线视频| 欧美成va人片在线观看| 蜜臀精品一区二区三区在线观看| 欧美一区三区二区| 久久av资源站| 精品奇米国产一区二区三区| 经典三级在线一区| 国产欧美精品一区aⅴ影院 | 亚洲伦在线观看| 色婷婷av一区| 亚洲成人免费看| 欧美一级夜夜爽| 国产一区免费电影| 国产精品久99| 色噜噜狠狠成人中文综合| 一片黄亚洲嫩模| 欧美一区二区三区人| 国产精品资源在线观看| 中文字幕高清不卡| 色综合一个色综合亚洲| 婷婷开心激情综合| 久久精品视频一区| 97超碰欧美中文字幕| 亚瑟在线精品视频| 久久人人97超碰com| 99久久精品久久久久久清纯| 亚洲国产欧美在线| 精品久久久久久综合日本欧美| 国产suv精品一区二区6| 一区二区三区波多野结衣在线观看| 欧美日韩一级二级| 国产精品一级片在线观看| 亚洲人成在线观看一区二区| 91精品国产综合久久久蜜臀粉嫩| 国产成人在线视频免费播放| 亚洲精品v日韩精品| 日韩精品一区二区三区在线播放 | 国产成人精品亚洲777人妖| 亚洲三级在线看| xf在线a精品一区二区视频网站| av在线不卡网| 麻豆久久一区二区| 亚洲欧美激情一区二区| 日韩欧美一级片| 欧美在线视频日韩| 国产精品888| 日产欧产美韩系列久久99| 欧美国产欧美综合| 日韩精品在线一区| 欧美丝袜丝交足nylons| 成人午夜私人影院| 麻豆91在线观看| 亚洲成人免费av| 亚洲男人的天堂在线aⅴ视频| 精品久久久三级丝袜| 在线观看一区日韩| 成人av免费网站| 久久99精品一区二区三区三区| 亚洲一区二区精品3399| 亚洲欧洲性图库| 国产亚洲制服色| 91精品国产一区二区三区蜜臀| 91免费版在线| 成人99免费视频| 国产99久久久精品| 久久国产免费看| 男人的j进女人的j一区| 亚洲高清免费一级二级三级| 亚洲欧美日韩国产综合在线| 中文字幕中文字幕在线一区 | 日韩久久久久久| 3atv在线一区二区三区| 在线精品国精品国产尤物884a| 成人免费观看视频| 国产成+人+日韩+欧美+亚洲| 激情综合网av| 国内精品伊人久久久久av影院| 成人av电影免费在线播放| 久久精品国产精品亚洲红杏| 免费观看30秒视频久久| 青草av.久久免费一区| 性欧美疯狂xxxxbbbb| 亚洲成a人v欧美综合天堂| 亚洲精品中文字幕乱码三区| 亚洲欧美激情小说另类| 亚洲一二三四久久| 亚洲国产成人精品视频| 亚洲一区二区欧美| 日韩vs国产vs欧美| 久久狠狠亚洲综合| 国产大陆亚洲精品国产| 国产成人日日夜夜| 色偷偷一区二区三区| 欧日韩精品视频| 91精品国产色综合久久不卡电影| 欧美一区二区三区四区视频| 26uuu亚洲综合色欧美| 久久精品视频在线看| 亚洲欧美日韩精品久久久久| 亚洲一区二区三区自拍| 日韩精品1区2区3区| 国内偷窥港台综合视频在线播放| 国产一区二区三区av电影| 岛国av在线一区| 欧美色综合影院| 欧美一级片在线观看| 国产清纯白嫩初高生在线观看91 | 丁香一区二区三区| 色综合天天在线| 日韩欧美成人午夜| 国产精品久久久久久久浪潮网站| 午夜精品福利一区二区三区蜜桃| 免费欧美高清视频| 91免费国产在线| 精品国产青草久久久久福利| 中文字幕不卡在线播放| 亚洲高清不卡在线观看| 国产精品中文字幕一区二区三区| av亚洲精华国产精华精| 欧美日韩一区二区三区免费看| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 一区二区免费在线| 久久99久久久久久久久久久| 91美女视频网站| 国产午夜精品在线观看| 亚洲线精品一区二区三区八戒| 国产精品456露脸| 欧美老女人在线| 中文字幕在线不卡视频| 蜜桃传媒麻豆第一区在线观看| 99久久精品一区| 国产欧美一区二区三区在线老狼| 亚洲一区av在线| 成人在线一区二区三区| 日韩亚洲欧美高清| 亚洲va欧美va人人爽午夜| av不卡在线观看| 久久精品男人天堂av| 蜜臀av一区二区| 欧美日韩精品高清| 国产精品国产三级国产aⅴ中文 | 国产欧美精品一区aⅴ影院 | 黑人精品欧美一区二区蜜桃| 在线观看亚洲成人| 一区在线观看免费| 不卡一卡二卡三乱码免费网站| 日韩美女一区二区三区四区| 亚洲午夜国产一区99re久久| voyeur盗摄精品| 国产精品嫩草影院av蜜臀| 国产尤物一区二区在线| 欧美大胆一级视频| 美女诱惑一区二区| 日韩一区二区三区四区五区六区| 亚洲一区二区三区四区的| a美女胸又www黄视频久久| 国产精品电影一区二区三区| 成人免费视频caoporn| 国产色爱av资源综合区| 国产真实乱对白精彩久久| 欧美mv日韩mv| 激情六月婷婷综合| 欧美大片一区二区三区| 激情综合色播激情啊| 精品国产91久久久久久久妲己| 日韩av中文字幕一区二区| 欧美一区二区在线看| 蜜桃精品视频在线观看| www国产亚洲精品久久麻豆|