第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • springboot項(xiàng)目實(shí)戰(zhàn)筆記

    查看全部
  • dataobject和model的區(qū)別:dataobject僅僅是映射數(shù)據(jù)庫(kù);model是業(yè)務(wù)模型,該模型的屬性會(huì)來自于多個(gè)數(shù)據(jù)庫(kù)

    查看全部
  • 課堂筆記:

    3.8?用戶模型管理--getotp頁(yè)面實(shí)現(xiàn)(16:00)
    ????1.?完成?getotp.html?頁(yè)面樣式的編寫。
    ????2.?完成?button?提交業(yè)務(wù)的編寫
    ????????????先實(shí)現(xiàn)頁(yè)面交互,再實(shí)現(xiàn)頁(yè)面美化。
    ????????????a.?引入?jquery.js
    ????????????b.?編寫?js?代碼,實(shí)現(xiàn)?button?的?click?事件,用于向后端發(fā)送獲取短信驗(yàn)證碼的請(qǐng)求。
    ????????????????//?綁定?otp?的?click?事件用于向后端發(fā)送獲取短信驗(yàn)證碼的請(qǐng)求
    ????????????????//?使用?ajax?方式發(fā)送異步請(qǐng)求完成業(yè)務(wù)。
    ????????????????//?為?Controller?中的?@RequestMapper?添加指定的?method,consumes(將其聲明到控制層基類中)
    ????????????????//?注意判空處理
    ????????????????//?注意?button?自定義?click?方法后,該方法內(nèi)應(yīng)該返回?false,因?yàn)槭褂?ajax?發(fā)送請(qǐng)求處理業(yè)務(wù),不需要常見的事件冒泡給?form?提交?POST?方法。
    ????????????????//?注意程序中已經(jīng)進(jìn)行了統(tǒng)一異常處理,因此會(huì)盡可能返回了?success?HTTPstatus?=?200
    ????????????c.?因?yàn)槭菑谋镜?html?中發(fā)送請(qǐng)求到?localhost?的?url?因此會(huì)出現(xiàn)跨域安全異常,雖然請(qǐng)求能夠到達(dá)控制層,并成功被控制層方法處理業(yè)務(wù)并返回,但是?ajax?請(qǐng)求會(huì)認(rèn)為該請(qǐng)求是不安全的,因此走不到?success?塊中,并會(huì)給瀏覽器報(bào)錯(cuò)。
    ????????????????在?springboot?中處理?ajax?跨域請(qǐng)求的方式:只要讓?response?時(shí)刻返回?'Access-Control-Allow-Origin'?為所有的域,即?*?即可。
    ????????????????SpringBoot?提供給我們一個(gè)簡(jiǎn)單注解方式?@CrossOrigin?實(shí)現(xiàn)所有?SpringBoot?中所有請(qǐng)求返回對(duì)象帶上一個(gè)?Access-Control-Allow-Origin?標(biāo)簽,即可實(shí)現(xiàn)跨域處理。
    ????????????????@CrossOrigin?可使用在?controller?上,或方法級(jí)別上,也可以同時(shí)使用,Spring將合并兩個(gè)注釋屬性以創(chuàng)建合并的CORS配置。
    ????????????????該注解可以有2個(gè)參數(shù):
    ???????????????????origins?:允許可訪問的域列表
    ???????????????????maxAge:準(zhǔn)備響應(yīng)前的緩存持續(xù)的最大時(shí)間(以秒為單位)。
    
    ????3.??Ajax跨域請(qǐng)求問題,設(shè)置一下屬性就可以了,
    ????????前端?Ajax?請(qǐng)求中添加?xhrFields:?{withCredentials:?true},
    ????????后端?controller?層添加?@CrossOrigin(origins?=?"*",?allowCredentials?=?"true")?就可以訪問了


    查看全部
  • 課堂筆記:

    3.6?用戶模型管理-otp驗(yàn)證碼獲取
    ????0.?基礎(chǔ)能力建設(shè)
    ????????????springboot?+?MVC?+?mybatis?框架搭建,外加常態(tài)的錯(cuò)誤異常定義、正確的返回值類型定義。
    ???????模型能力管理
    ????????????領(lǐng)域模型管理(如?user?對(duì)象就是一個(gè)用戶領(lǐng)域的一個(gè)模型),包括完整的生命周期。用戶模型、商品模型、秒殺模型等。
    ????????????????用戶信息管理:
    ????????????????????otp?短信獲取
    ????????????????????otp?注冊(cè)用戶
    ????????????????????用戶手機(jī)號(hào)登錄
    
    ????1.?用戶獲取?otp?短信驗(yàn)證碼
    ????????a.?需要按照一定的規(guī)則生產(chǎn)OTP?驗(yàn)證碼
    ????????b.?將?OTP?驗(yàn)證碼通對(duì)應(yīng)用戶的手機(jī)號(hào)關(guān)聯(lián)(一般使用Redis處理,此處采用?session?模仿實(shí)現(xiàn))
    ????????????使用?spring?注入方式注入一個(gè)?HttpServletRequest?對(duì)象,該對(duì)象其實(shí)是通過?spring?bean?包裝的?request?對(duì)象本質(zhì)是?proxy?模式(spring?在注入?HttpServletRequest?時(shí),發(fā)現(xiàn)如果注入的是?一個(gè)?ObjectFactory?類型的對(duì)象時(shí),就會(huì)將注入的?bean?替換成一個(gè)?JDK?動(dòng)態(tài)代理對(duì)象,代理對(duì)象在執(zhí)行?HttpServletRequest?對(duì)象里的方法時(shí),就會(huì)通過?RequestObjectFactory.getObject()?獲取一個(gè)?新的?request?對(duì)象來執(zhí)行。),即多例模式?。
    ????????????Spring能實(shí)現(xiàn)在多線程環(huán)境下,將各個(gè)線程的request進(jìn)行隔離,且準(zhǔn)確無(wú)誤的進(jìn)行注入,奧秘就是ThreadLocal.?它的內(nèi)部擁有?ThreadLocal?方式的?map,去讓用戶在每個(gè)線程中處理自己對(duì)應(yīng)的?request?中的數(shù)據(jù),并且有ThreadLocal清除的機(jī)制。
    ????????c.?將?OTP?驗(yàn)證碼通關(guān)短信通道發(fā)送給用戶


    查看全部
  • 3.5?定義通用的返回對(duì)象-異常處理02
    ????1.?為?handlerException()?方法繼續(xù)添加?@ResponseBody?注解即可將返回的?object?返回給前端頁(yè)面。
    ????????????該方式會(huì)將異常的所有棧信息序列化后輸出到前端頁(yè)面,因此還需要繼續(xù)處理,只將前端需要的異常信息返回給前端。
    ????2.?將?ex?強(qiáng)轉(zhuǎn)為?BusinessException?,然后使用其?getErrCode、getErrMsg?方法獲取前端需要的異常信息,將其封裝為?Map?后封裝到?CommonReturnType?對(duì)象中,然后再返回給前端。
    ????3.?優(yōu)化:使用?CommonReturnType?的靜態(tài)方法?create?構(gòu)造對(duì)象并返回。
    ????4.?繼續(xù)完善該方法。
    ????????????判斷?exception?是否為?BusinessException?類型,如果不是則為?CommonReturnType?對(duì)象賦值?errCode?為?EmBusinessError?枚舉中的?UNKNOWN_ERROR?的?code?和?msg。
    ????5.?繼續(xù)優(yōu)化異常處理。
    ????????????因?yàn)樵撎幚矸绞绞撬?controller?都需要的方式,因此將其抽象為?BaseController?中的方法,然后讓其他?controller?組件去繼承該?controller。
    ????6.?總結(jié):a.?定義一個(gè)?CommonReturnType,?能夠用對(duì)應(yīng)的?status,?object?的方式返回所有的被?JSON?序列化對(duì)象,供前端解析使用,摒棄掉了使用?httpstatuscode?+?內(nèi)線?tomcat?自帶的?error?頁(yè)面方式去處理響應(yīng)數(shù)據(jù)以及異常。
    ????????????b.?并且定義了一個(gè)?BusinessException?,統(tǒng)一管理我們自定義的錯(cuò)誤碼。
    ????????????c.?然后,在?BaseController?中定義一個(gè)所有?Controller?的基類,使用其中注解了?@ExceptionHandler?的方法來處理所有被?Controller?層捕獲的異常。
    ????????????????按照異常的種類由2種處理方式,一種是自定義?BusinessException,?其中有自定義的?error?的?code?和?msg,一種是未知的異常,采用統(tǒng)一處理方式。
    ????????????d.?異常處理方法上還可以添加日志相關(guān)組件,方便項(xiàng)目運(yùn)行記錄與錯(cuò)誤排查。


    查看全部
  • Enum 中的 int 類型的狀態(tài)碼,如果以 0 開頭,則會(huì)在 controller 組件中返回到前端時(shí),如果使用了 JSON 序列化,解析時(shí)則會(huì)省略數(shù)字前的 0,因此,不應(yīng)該使用 0 開頭。

    正例:10001、10002、20001

    反例:00001、00002

    查看全部
  • 3.2?定義通用的返回對(duì)象-返回正確信息
    ????1.?通用的返回對(duì)象。方便前端解析數(shù)據(jù)。
    ????????首先,定義返回對(duì)象類型?class?com.miaoshaproject.response.CommonReturnType,?包含?String?status,?Object?date?2個(gè)屬性。
    ????????然后,定義?二重奏創(chuàng)建對(duì)象方法,?create(Object?result)-(該方法中如果沒給?status?參數(shù)則給出默認(rèn)值"success")?調(diào)用?create(Object?result,?String?status),
    ????2.?返回的數(shù)據(jù)為?Object?對(duì)象。
    ????????????若?status?=?success?,則返回前端需要的?JSON?數(shù)據(jù)。
    ????????????若?status?=?fail?,?則返回通用的錯(cuò)誤碼格式。
    ????3.?修改?controller?層中的方法,將返回值修改為?CommonReturnType?類型的對(duì)象。
    ????4.?查看運(yùn)行效果。


    查看全部
  • 3.1?使用SpringMVC方式開發(fā)用戶信息
    ????1.?搭建?MVC?層次組件
    ????????創(chuàng)建?controller?層目錄,并編寫?UserController,包含一個(gè)?getUser(Integer?id)?方法,注意添加注解。
    ????????創(chuàng)建?service?層目錄,并編寫?UserService?接口以及?UserSServiceImpl?實(shí)現(xiàn)類,包含?getUserById(Integer?id)?方法,其中使用了?UserDOMapper.
    ????2.?除了?UserDO?表示與數(shù)據(jù)庫(kù)對(duì)應(yīng)的數(shù)據(jù)對(duì)象類外,?service?層業(yè)務(wù)領(lǐng)域也應(yīng)該有與?DO?對(duì)象不同的對(duì)象?model,?即業(yè)務(wù)領(lǐng)域?qū)ο?,用來封裝?DO?對(duì)象,避免直接將?DO?對(duì)象返回給前端。
    ????????創(chuàng)建?service?層領(lǐng)域模型對(duì)象:?com.miaoshaproject.service.model.UserModer,?其中封裝從?DO?到?model?封裝方法。
    ????????為?userPasswordDOMapper?添加?selectByUserId(Integer?id)?方法,實(shí)現(xiàn)通過用戶?id?查找對(duì)應(yīng)的用戶加密密碼信息。
    ????3.?編寫?userController?中的?getUser()?方法,返回領(lǐng)域模型?userModel,?測(cè)試是否可以通過前端成功訪問。
    ????4.?創(chuàng)建一個(gè)前端模型對(duì)象?UserVO,?用來封裝可以返回給前端的對(duì)象數(shù)據(jù)信息,不包含前端非必要屬性字段。其中包含?convertFromModel(model)?方法,用來將核心領(lǐng)域模型?model?對(duì)象封裝成可供前端使用的?VO?對(duì)象。
    ????5.?需要注意的是?DO、VO、Model?對(duì)象中的屬性類型必須一致,字段名同樣要一致,才可以使用?BeanUtils.copyProperties(srcObj,?tarObj)?方法,否則會(huì)丟失不一致屬性中的數(shù)據(jù)。


    查看全部
  • 2.4?Mybatis自動(dòng)生成器的使用方式
    ????1.?mybatis-core版本要和mybatis-maven-plugin版本要一致
    ????2.?mybatis-generator.xml?中的配置
    ????3.?配置?maven?Command?line?:?mybatis-generator:generate?-e?-X
    ????????注意?:?generate?前是?:
    ????4.?生成后,需要給?mapper?接口添加注解
    ????5.?application.properties?中添加數(shù)據(jù)源配置
    ????????
    ????????#?接入?mybatis?對(duì)應(yīng)的數(shù)據(jù)源
    ????????spring.datasource.name=miaosha
    ????????spring.datasource.url=jdbc:mysql://127.0.0.1:3306/miaosha?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false
    ????????spring.datasource.username=root
    ????????spring.datasource.password=1234
    ????????
    ????????#?使用?druid?數(shù)據(jù)源
    ????????spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    ????????spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver


    查看全部

舉報(bào)

0/150
提交
取消
課程須知
本課程會(huì)直接從SpringBoot應(yīng)用開始介紹,開始學(xué)習(xí)前,需要同學(xué)們熟悉JavaWeb開發(fā)基礎(chǔ)知識(shí),對(duì)MVC架構(gòu)有基本了解。同時(shí),課程實(shí)踐部分,會(huì)有一些簡(jiǎn)單的數(shù)據(jù)庫(kù)以及前端操作,這需要你對(duì)數(shù)據(jù)庫(kù)、HTML基礎(chǔ)、JS、JQ有一些了解。
老師告訴你能學(xué)到什么?
1.SpringBoot的基本構(gòu)成與使用。 2.領(lǐng)域驅(qū)動(dòng)的模型分層設(shè)計(jì)思路與基本實(shí)現(xiàn)流程。 3.基礎(chǔ)電商項(xiàng)目中用戶管理、商品管理、交易管理及秒殺活動(dòng)管理的全套秒殺應(yīng)用。

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!