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

當(dāng)前位置: 首頁(yè) > news >正文

泉州北京網(wǎng)站建設(shè)如何制作app軟件

泉州北京網(wǎng)站建設(shè),如何制作app軟件,蚌埠網(wǎng)站制作公司,微商軟件代理攔截器簡(jiǎn)介 攔截器是屬于springmvc體系的,只能攔截controller的請(qǐng)求。攔截器(Interceptor)是一種動(dòng)態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動(dòng)態(tài)攔截控制器方法的執(zhí)行。 Interceptor 作用 日志記錄:記錄請(qǐng)求信息的日志&…

攔截器簡(jiǎn)介

攔截器是屬于springmvc體系的,只能攔截controller的請(qǐng)求。攔截器(Interceptor)是一種動(dòng)態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動(dòng)態(tài)攔截控制器方法的執(zhí)行。

Interceptor 作用

  • 日志記錄:記錄請(qǐng)求信息的日志,以便進(jìn)行信息監(jiān)控、信息統(tǒng)計(jì)、計(jì)算 PV(Page View)等;
    權(quán)限檢查:如登錄檢測(cè),進(jìn)入處理器檢測(cè)是否登錄;
  • 性能監(jiān)控:通過(guò)攔截器在進(jìn)入處理器之前記錄開(kāi)始時(shí)間,在處理完后記錄結(jié)束時(shí)間,從而得到該請(qǐng)求的處理時(shí)間。(反向代理,如 Apache 也可以自動(dòng)記錄)
  • 通用行為:讀取 Cookie 得到用戶(hù)信息并將用戶(hù)對(duì)象放入請(qǐng)求,從而方便后續(xù)流程使用,還有如提取 Locale、Theme 信息等,只要是多個(gè)處理器都需要的即可使用攔截器實(shí)現(xiàn)。

SpringBoot 提供了 Interceptor 攔截器機(jī)制,用于請(qǐng)求的預(yù)處理和后處理。在 SpringBoot 中定義一個(gè)攔截器有兩種方法:第一種是實(shí)現(xiàn) HandlerInterceptor 接口,或者繼承實(shí)現(xiàn)了 HandlerInterceptor 接口的類(lèi)(例如:HandlerInterceptorAdapter);第二種方法時(shí)實(shí)現(xiàn) Spring 的 WebRequestInterceptor 接口,或者繼承實(shí)現(xiàn)了 WebRequestInterceptor 接口的類(lèi)。這些攔截器都是在Handler的執(zhí)行周期內(nèi)進(jìn)行攔截操作的。

示例

第一步:創(chuàng)建攔截器類(lèi)

創(chuàng)建攔截器類(lèi),讓其實(shí)現(xiàn)handlerIntercepter接口,在其preHandle()方法中作攔截判斷,注意該方法返回true表示不攔截繼續(xù)往下執(zhí)行,返回false表示攔截不再往下執(zhí)行

public class LoginHandler implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {Object user = request.getSession().getAttribute("user");if(user == null){//沒(méi)有登錄System.out.println("沒(méi)有登錄");response.sendRedirect(request.getContextPath()+"/user/openLogin");return  false;}else {//已經(jīng)登錄System.out.println("已經(jīng)登錄");return true;}}
}

HandlerInterceptor中定義了如下三個(gè)默認(rèn)方法:

  • preHandle:在Action執(zhí)行前調(diào)用
  • postHandle:在Action執(zhí)行后調(diào)用,生成視圖前調(diào)用
  • afterCompletion:在DispatcherServlet完全處理完請(qǐng)求之后被調(diào)用,可用于清理資源

第二步:創(chuàng)建配置類(lèi)

創(chuàng)建配置類(lèi),讓其實(shí)現(xiàn)WebMvcConfigurer接口,在其addInterceptors()方法中對(duì)1中創(chuàng)建的攔截器進(jìn)行配置

@Configuration
public class WegoMvcConfigure implements WebMvcConfigurer {/*** 攔截器配置*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {//注冊(cè)Interceptor攔截器InterceptorRegistration registration = registry.addInterceptor(new LoginHandler());registration.addPathPatterns("/**"); //所有路徑都被攔截registration.excludePathPatterns( //添加不攔截路徑"/user/openLogin", //登錄頁(yè)面"/user/login",       //登錄請(qǐng)求"/**/*.html",   //html靜態(tài)資源"/**/*.js",     //js靜態(tài)資源"/**/*.css"     //css靜態(tài)資源);}
}

第三步:定義用戶(hù)登錄和退出登錄的控制器

@Controller
@RequestMapping("/user")
public class UserController {@Resourceprivate UserService userService;/*** 打開(kāi)登錄頁(yè)面*/@GetMapping("/openLogin")public String openLogin(){return "frontend/login";}/*** 登錄*/@PostMapping("/login")public String login(String username,String password, HttpSession session){User user  = userService.getUserByUsernameAndPassword(username , password);if (user == null) {// 登錄失敗,打開(kāi)登錄頁(yè)面return "frontend/login";}else {//登錄成功,將用戶(hù)信息保存到Session中,打開(kāi)首頁(yè)session.setAttribute("user",pageBean.getResult().get(0));return "redirect:/index";//重定向}}/*** 退出登錄 */@ResponseBody@GetMapping("/logout")String logout(HttpSession session){session.removeAttribute("user");return "success";}
}

第四步:測(cè)試

  1. 啟動(dòng)項(xiàng)目,請(qǐng)求首頁(yè)localhost/wego/index,發(fā)現(xiàn)直接打開(kāi)登錄頁(yè)面
  2. 在登錄頁(yè)面中登錄,成功后進(jìn)入首頁(yè)
  3. 請(qǐng)求localhost/wego/user/logout,退出登錄
  4. 再次請(qǐng)求登錄頁(yè)面發(fā)現(xiàn)又會(huì)打開(kāi)登錄頁(yè)面
http://www.risenshineclean.com/news/7981.html

相關(guān)文章:

  • phpcms學(xué)校網(wǎng)站模板如何制作微信小程序店鋪
  • wordpress 社交分享肇慶seo排名外包
  • 網(wǎng)站倒計(jì)時(shí)代碼資源企業(yè)網(wǎng)站排名優(yōu)化價(jià)格
  • html制作網(wǎng)站的步驟網(wǎng)絡(luò)服務(wù)包括
  • 企業(yè)域名是什么網(wǎng)站seo關(guān)鍵詞設(shè)置
  • 網(wǎng)站設(shè)計(jì)營(yíng)銷(xiāo)網(wǎng)站出租三級(jí)域名費(fèi)用
  • 做視頻網(wǎng)站視頻的軟件企業(yè)營(yíng)銷(xiāo)培訓(xùn)課程
  • 女性時(shí)尚網(wǎng)站源碼客戶(hù)關(guān)系管理
  • 有沒(méi)有免費(fèi)的微網(wǎng)站視頻營(yíng)銷(xiāo)模式有哪些
  • 昭通網(wǎng)站建設(shè)如何提高網(wǎng)站排名的方法
  • 二手站網(wǎng)站怎做優(yōu)化課程體系
  • 招聘 負(fù)責(zé)網(wǎng)站開(kāi)發(fā)網(wǎng)絡(luò)營(yíng)銷(xiāo)有什么方式
  • 網(wǎng)站做cdn百度網(wǎng)頁(yè)版入口
  • 網(wǎng)站信息發(fā)布制度建設(shè)seo網(wǎng)站優(yōu)化排名
  • 建網(wǎng)站哪便宜百度網(wǎng)站提交入口網(wǎng)址
  • 網(wǎng)頁(yè)跟網(wǎng)站的區(qū)別百度seo2022
  • 開(kāi)發(fā)app的注意事項(xiàng)seo代理計(jì)費(fèi)系統(tǒng)
  • 兩耳清風(fēng)怎么做網(wǎng)站南京網(wǎng)絡(luò)優(yōu)化培訓(xùn)
  • 校園網(wǎng)站建設(shè)論文域名大全查詢(xún)
  • wordpress+4.9+google蘋(píng)果aso優(yōu)化
  • 做網(wǎng)站還要寫(xiě)文章嗎品牌運(yùn)營(yíng)中心
  • 做圖片網(wǎng)站用什么程序百度地圖導(dǎo)航手機(jī)版免費(fèi)下載
  • 可以先做網(wǎng)站后備案么app拉新推廣平臺(tái)有哪些
  • 2345網(wǎng)址導(dǎo)航手機(jī)上網(wǎng)導(dǎo)航下載seo網(wǎng)絡(luò)推廣教程
  • 秦皇島建設(shè)網(wǎng)站品牌宣傳方式
  • 網(wǎng)絡(luò)營(yíng)銷(xiāo)方式的使用方法搜索引擎優(yōu)化有哪些要點(diǎn)
  • 長(zhǎng)春關(guān)鍵詞推廣快速排名優(yōu)化seo
  • 網(wǎng)頁(yè)設(shè)計(jì)與實(shí)現(xiàn)論文杭州seo公司排名
  • 濟(jì)寧營(yíng)銷(xiāo)網(wǎng)站建設(shè)長(zhǎng)沙網(wǎng)站優(yōu)化排名推廣
  • 加強(qiáng)兩微一端和門(mén)戶(hù)網(wǎng)站建設(shè)云資源軟文發(fā)布平臺(tái)