中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

中國建設銀行北海招聘信息網(wǎng)站百度旗下產(chǎn)品

中國建設銀行北海招聘信息網(wǎng)站,百度旗下產(chǎn)品,網(wǎng)頁設計師需要會什么軟件,前端開發(fā)培訓中心Spring MVC 目錄 Spring MVC1.spring mvc簡介2.spring mvc實現(xiàn)原理2.1核心組件2.2工作流程 3.RESTful 風格4.Cookie,Session4.1 會話4.2 保存會話的兩種技術 5.攔截器5.1過濾器、監(jiān)聽器、攔截器的對比5.2 過濾器的實現(xiàn)5.3 攔截器基本概念5.4 攔截器的實現(xiàn) 1.spring …

Spring MVC

目錄

  • Spring MVC
    • 1.spring mvc簡介
    • 2.spring mvc實現(xiàn)原理
      • 2.1核心組件
      • 2.2工作流程
    • 3.RESTful 風格
    • 4.Cookie,Session
      • 4.1 會話
      • 4.2 保存會話的兩種技術
    • 5.攔截器
      • 5.1過濾器、監(jiān)聽器、攔截器的對比
      • 5.2 過濾器的實現(xiàn)
      • 5.3 攔截器基本概念
      • 5.4 攔截器的實現(xiàn)

1.spring mvc簡介

Spring MVC是一款由Spring Framework 提供的 web組件,實現(xiàn)mvc設計模式的一款框架,Java web開發(fā)者必會框架,前后端不分離。

MVC是一種軟件架構(gòu)思想,把軟件按照模型,視圖,控制器來劃分

  • Model:模型層,指工程中的JavaBean,用來處理數(shù)據(jù),JavaBean分成兩類:
    一類稱為實體類Bean:專門用來存儲業(yè)務數(shù)據(jù)(返回和接收數(shù)據(jù)),比如Student,User
    一類稱為業(yè)務處理Bean:指Servlet或Dao對象,專門用來處理業(yè)務邏輯和數(shù)據(jù)訪問
  • View:視圖層,指工程中的html,jsp等頁面,作用是和用戶進行交互,展示數(shù)據(jù)
  • Controler:控制層,指工程中的Servlet,作用是接收請求和響應瀏覽器

2.spring mvc實現(xiàn)原理

2.1核心組件

  • DispatcherServlet:前端控制器,負責調(diào)度其它組件,是所有組件的中心站同時也對其它組件進行了解耦。
  • HandlerMapping:dispatcherServlet收到請求,在這里找到對應的處理器進行處理。
  • HandlerInterceptor:處理器攔截器,是一個接口,用于實現(xiàn)一些攔截任務完成接口的調(diào)用
  • HandlerExecutionChain:這是一個執(zhí)行鏈,包括Handler和HandlerInterceptor
  • HandlerAdapter:處理適配器,在執(zhí)行業(yè)務之前,需要進行一系列的操作包括表單的數(shù)據(jù)驗證、數(shù)據(jù)類型轉(zhuǎn)換、把表單數(shù)據(jù)封裝到POJO等,這些一系列的操作都是由HandlerAdapter完成,DispatcherServlet通過HandlerAdapter執(zhí)行不同的處理器。
  • Handler:處理器完成具體的業(yè)務邏輯。
  • ModelAndView:裝載了模型數(shù)據(jù)和視圖信息,作為 Handler 的處理結(jié)果,返回給 DispatcherServlet。
  • ViewResolver:視圖解析器,DispatcheServlet 通過它將邏輯視圖解析為物理視圖,最終將渲染結(jié)果響應給客戶端。

2.2工作流程

a.客戶端請求先被DispatcherServlet接收。
b.DispatcherServlet將請求傳給HandlerMapping,映射到對應的handler返回一個執(zhí)行鏈。
c.前端控制器調(diào)用處理適配器來調(diào)用處理器。
d.執(zhí)行處理器,處理器返回一個ModleAndView給前端控制器。
e.前端控制器將ModleAndView結(jié)果返回給視圖解析器。
f.視圖解析器解析后返回個view,經(jīng)過視圖渲染,將模型數(shù)據(jù)渲染頁面形成最后視圖返回客戶端。
在這里插入圖片描述

3.RESTful 風格

  • RESTful是當前比較流行的一種互聯(lián)網(wǎng)軟件架構(gòu)模型,通過統(tǒng)一的規(guī)范來完成不同終端的數(shù)據(jù)訪問和交換,REST全稱是Representaional State Transfer(資源表現(xiàn)層狀態(tài)轉(zhuǎn)換)
  • RESTful的優(yōu)點:結(jié)構(gòu)清晰,有統(tǒng)一的標準、擴展性好
  • RESTful的特點:
    1.URL傳參更加簡潔
    傳統(tǒng)形式URL: http://localhost:8080/findById?id=1
    RESTful風格URL: http://localhost:8080/findById/1
    2.完成不同終端之間的資源共享,RESTful提供了一套規(guī)范,不同終端之間只要遵守這個規(guī)范,就可以實現(xiàn)數(shù)據(jù)交互。
    RESTful具體來說是四種表現(xiàn)形式,HTTP請求中四種請求類型(GET、POST、PUT、DELETE)分別表示四種常規(guī)操作,CRUD:GET用來獲取資源,POST用來創(chuàng)建資源,PUT用來修改資源,DELETE用來刪除資源。

4.Cookie,Session

4.1 會話

會話:用戶打開一個瀏覽器,點擊了很多超鏈接,訪問多個web資源,關閉瀏覽器,這個過程可以稱之為會話;
有狀態(tài)會話:一個同學來過教室,下次再來教室,我們會知道這個同學,曾經(jīng)來過,稱之為有狀態(tài)會話;
客戶端, 服務端
服務端給客戶端一個信件,客戶端下次訪問服務端帶上信件就可以了; cookie
服務器登記你來過了,下次你來的時候我來匹配你; seesion

4.2 保存會話的兩種技術

cookie:客戶端技術 (響應,請求)。請求時客戶端會攜帶一個cookie,響應時服務端返回一個cookie。
session:服務器技術,利用這個技術,可以保存用戶的會話信息?服務端會給每一個用戶創(chuàng)建一個session對象,會話沒有關閉session就一直存在,一般也會設置失效時間。

Session和cookie的區(qū)別:

  • Cookie是把用戶的數(shù)據(jù)寫給用戶的瀏覽器,瀏覽器保存 (可以保存多個)
  • Session把用戶的數(shù)據(jù)寫到用戶獨占Session中,服務器端保存 (保存重要的信息,減少服務器資源的浪費,Session對象由服務創(chuàng)建;

使用場景:
保存一個登錄用戶的信息;購物車信息;在整個網(wǎng)站中經(jīng)常會使用的數(shù)據(jù),我們將它保存在Session中;

5.攔截器

5.1過濾器、監(jiān)聽器、攔截器的對比

  • Servlet:處理Reequest請求和Response響應。繼承HttpServlet類,在對請求和響應加入更多邏輯處理。在spring boot項目不用我們顯示處理servlet了,底層已經(jīng)嵌入了servlet容器處理http請求。
  • 過濾器(Filter):對Request請求起到過濾作用,作用在Servlet之前,如果配置為/*可以為所有的資源(servlet、js/css靜態(tài)資源等)進行過濾處理
  • 監(jiān)聽器(Listener):實現(xiàn)了javax.servlet.ServletContextListener接口的服務器端組件,它隨Web應用的啟動而啟動,只初始化一次,然后一直監(jiān)視,隨Web應用的停止而銷毀
    作用一:做初始化工作,web應用中spring容器啟動ContextLoaderListener
    作用二:監(jiān)聽web中的特定事件,比如HttpSession,ServletRequest的創(chuàng)建和銷毀;變量的創(chuàng)建、銷毀和修改等可以在某些動作 前后增加處理,實現(xiàn)監(jiān)控,比如說統(tǒng)計在線人數(shù),利用HttpSessionListener等
  • 攔截器(Interceptor):是Spring MVC、Struts等表現(xiàn)層框架自己的,不會攔截jsp/html/css/image等的訪問,只會攔截訪問的控制器方法(Handler)
    servlet、filter、listener是配置在web.xml中,interceptor是配置在表現(xiàn)層框架自己的配置文件中,在Handler業(yè)務邏輯執(zhí)行之前攔截一次,在Handler邏輯執(zhí)行完但是還沒有跳轉(zhuǎn)頁面之前攔截一次,在跳轉(zhuǎn)頁面后攔截一次。

5.2 過濾器的實現(xiàn)

過濾器是作用在servlet之前,對訪問的所有資源進行過濾處理。
比如 Shiro安全框架技術就是用Filter來實現(xiàn)的
Filter:過濾器,用來過濾網(wǎng)站的數(shù)據(jù);處理中文亂碼, 登錄驗證,網(wǎng)關過濾(有些請求需要過濾),過濾臟話等….
工作中還會學到很多類型的過濾器。

public class CharacterEncodingFilter implements Filter {//初始化:web服務器啟動,就以及初始化了,隨時等待過濾對象出現(xiàn)!public void init(FilterConfig filterConfig) throws ServletException {System.out.println("CharacterEncodingFilter初始化");}//Chain : 鏈/*1. 過濾中的所有代碼,在過濾特定請求的時候都會執(zhí)行2. 必須要讓過濾器繼續(xù)同行chain.doFilter(request,response);*/public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=UTF-8");System.out.println("CharacterEncodingFilter執(zhí)行前....");chain.doFilter(request,response); //讓我們的請求繼續(xù)走,如果不寫,程序到這里就被攔截停止!System.out.println("CharacterEncodingFilter執(zhí)行后....");}//銷毀:web服務器關閉的時候,過濾器會銷毀public void destroy() {System.out.println("CharacterEncodingFilter銷毀");}}

5.3 攔截器基本概念

Spring MVC中的攔截器(Interceptor)類似于Servlet中的過濾器(Filter),它主要用于攔截用戶請求并作相應的處理。例如通過攔截器可以進行權限驗證、記錄請求信息的日志、判斷用戶是否登錄等。

要使用Spring MVC中的攔截器,就需要對攔截器類進行定義和配置。通常攔截器類可以通過兩種方式來定義。

  • 通過實現(xiàn)HandlerInterceptor接口
  • 繼承HandlerInterceptor接口的實現(xiàn)類(如:HandlerInterceptorAdapter)來定義。

5.4 攔截器的實現(xiàn)

public class MyInterceptor implements HandlerInterceptor {/*** 在目標Handler(方法)執(zhí)行前執(zhí)行* 返回true:執(zhí)行Handler方法* 返回false:阻止目標Handler方法執(zhí)行* @param request* @param response* @param handler* @return* @throws Exception*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("目標Handler執(zhí)行前執(zhí)行MyInterceptor---->preHandle方法...");return true;}/*** 在目標Handler(方法)執(zhí)行后,視圖生成前執(zhí)行* @param request* @param response* @param handler* @param modelAndView* @throws Exception*/@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("目標Handler執(zhí)行后,視圖執(zhí)行前執(zhí)行MyInterceptor---->postHandle方法...");}/*** 在目標方法執(zhí)行后,視圖生成后執(zhí)行* @param request* @param response* @param handler* @param ex* @throws Exception*/@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("目標Handler執(zhí)行后,視圖執(zhí)行后執(zhí)行MyInterceptor---->afterCompletion方法...");}
}

在這里插入圖片描述

在這里插入圖片描述

http://www.risenshineclean.com/news/60829.html

相關文章:

  • 視頻網(wǎng)站app怎么做的長春做網(wǎng)絡優(yōu)化的公司
  • 外貿(mào)網(wǎng)站推廣計劃關鍵詞排名工具
  • 青島公司網(wǎng)站建設公司seo關鍵詞排名優(yōu)化案例
  • 網(wǎng)站如何防盜鏈網(wǎng)站運營策劃書范文
  • 圍場網(wǎng)站建設sem優(yōu)化師
  • 臨安建辦網(wǎng)站長沙關鍵詞優(yōu)化平臺
  • mysql做wp網(wǎng)站什么是網(wǎng)絡營銷公司
  • 網(wǎng)站輿情監(jiān)控怎么做運營推廣
  • 北京專業(yè)企業(yè)營銷網(wǎng)站建設互聯(lián)網(wǎng)推廣是什么意思
  • 大連哪家網(wǎng)站公司好如何做好精準營銷
  • 有模塊傳奇網(wǎng)站怎么做新東方雅思培訓價目表
  • 外貿(mào)做網(wǎng)站建設哪家好東莞網(wǎng)站優(yōu)化
  • 天河做網(wǎng)站哪家好騰訊體育nba
  • 普陀做網(wǎng)站優(yōu)化網(wǎng)站seo策略
  • 玉溪網(wǎng)站建設現(xiàn)狀如何注冊一個平臺
  • 頁面跳轉(zhuǎn)快捷鍵怎么優(yōu)化百度關鍵詞
  • 天津行業(yè)網(wǎng)站建設百度認證營銷顧問
  • 南陽美容網(wǎng)站建設seo優(yōu)化方法有哪些
  • cms做靜態(tài)網(wǎng)站相似圖片在線查找
  • php mysql 網(wǎng)站建設百度快照客服
  • 鄭州網(wǎng)站提升排名公司網(wǎng)站設計圖
  • 多個網(wǎng)站優(yōu)化怎么做廈門最好的seo公司
  • 個人網(wǎng)站備案 費用怎樣在百度上做廣告
  • 網(wǎng)站做法外貿(mào)海外推廣
  • 網(wǎng)站用ps做還是aiseo關鍵詞優(yōu)化系統(tǒng)
  • 自己的網(wǎng)站沒有域名解析深圳今日重大新聞
  • 麗水做企業(yè)網(wǎng)站的公司在線注冊網(wǎng)站
  • 網(wǎng)站開發(fā)語言揭陽百度seo公司
  • 做面包有關電影網(wǎng)站百度導航下載2021最新版
  • 網(wǎng)站技術報務費如何做會計分錄搜索網(wǎng)站排名