HttpServletRequest接口是Servlet規(guī)范的一員,需要的朋友可以參考下" />

亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中的HttpServletRequest接口詳細解讀

 更新時間:2023年11月07日 09:30:50   作者:Husky_DQ  
這篇文章主要介紹了Java中的HttpServletRequest接口詳細解讀,是一個接口,全限定名稱為Jakarta.Serclet.http.HttpServletRequest
HttpServletRequest接口是Servlet規(guī)范的一員,需要的朋友可以參考下

HttpServletRequest接口

  • 是一個接口,全限定名稱為Jakarta.Serclet.http.HttpServletRequest
  • HttpServletRequest接口是Servlet規(guī)范的一員
  • HttpServletRequst接口的父接口是:ServletRequest
  • HttpServletRequest的實現(xiàn)類是Tomcat實現(xiàn)的
  • HttpServletRequest對象是Tomcat創(chuàng)建的
  • HttpServletRequest對象中包裝的信息
    • HttpServletRequest封裝了Http的請求協(xié)議
    • Tomcat將用戶請求的Http協(xié)議中的信息解析出來封裝到HttpServletRequest對象中
    • javaweb程序員面向接口編程,調用方法卡可以獲取到請求的信息
  • request與response的生命周期
    • request對象和response對象,一個請求對象,一個響應對象
    • 一次請求對應一個request
  • HttpServletRequest采用方法
    • 獲取前端用戶提交的數(shù)據(jù)
String getParameter(String name)//獲取Map
Map<Sring String[]> getParameterMap()//獲取Map集合中所有的key
Enumeration<String> getParameterNames()//根據(jù)key獲取Map集合的value
String[] getParameterValues(java.lang.String name)//獲取value這個一維數(shù)組的第一個元素(最常用)
//以上方法與獲取用戶提交的數(shù)據(jù)有關系
  • request對象也叫做請求域對象
    • 應用域對象ServletContext(Servlet上下文對象)
    • 往應用域中綁定數(shù)據(jù)的情況
      1. 所有用戶共享的屬于
      2. 共享的數(shù)據(jù)量小
      3. 這個共享的數(shù)據(jù)很少的修改操作
      4. 使用應用域對象可以大大提高程序執(zhí)行效率
      5. 實際上往應用域添加數(shù)據(jù)就是將數(shù)據(jù)放進緩存當中,用戶訪問時直接在緩存中讀取。減少IO操作,大大提升系統(tǒng)的性能,緩存技術是提高系統(tǒng)性能的重要手段
    • ServletRequest有三個操作域的方法
		void setAttribute(String name,Object obj);//綁定數(shù)據(jù)
		Object getAttribute(String name);//從域當中根據(jù)name獲取數(shù)據(jù)
		void removeAttribute(String name);//從域當中將綁定的數(shù)據(jù)移除
		//以上操作類似于Map集合的操作
		Map<String,Object> map;
		map.put("name",obj);
		Object obj=map.get("name");
		map.remove("name");

ServletRequest里的資源是不共享的,范圍比較小

ServletContext與Request的選取原則: 范圍小的優(yōu)先

  • 請求轉發(fā)機制(一次啟動兩個Servlet)
    • 獲取請求轉發(fā)器對象,將需要跳轉的資源的路徑告知給Tomcat服務器
RequestDispatcher dispatcher=request.getRequestDispatcher("路徑");
  • 調用請求轉發(fā)器RequestDispatcher方法,參數(shù)必須傳遞給下一個資源
dispatcher.forward(request,response);
  • 兩個Servlet共享數(shù)據(jù)
    • ServletContext范圍太大,太占用資源
    • 可以放到Request請求域中,然后轉發(fā)即可
  • 轉發(fā)的下一個資源不一定是Servlet
    • Tomcat的合法資源即可,例如html
    • 轉發(fā)的時候,路徑以"/"開始,不加項目名
  • HttpServletRequest接口常用方法
//獲取客戶端的IP地址
String remoteAddr=request.getRemoteAddr();
//get請求在請求行上提交數(shù)據(jù)
//post請求在請求體中提交數(shù)據(jù)
//設置請求體的的字符集(解決post請求的亂碼問題)
request.setCharacterEncoding("UTF-8");
//獲取應用的根路徑
String contextPath=request.getContextPath();
//獲取請求方式
String method=request.getMethod();
//獲取請求的URI
String uri=request.getRequestURI();
//獲取servlet路徑
String servletPath=request.getServletPath();

到此這篇關于Java中的HttpServletRequest接口詳細解讀的文章就介紹到這了,更多相關HttpServletRequest接口內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java?HttpURLConnection使用方法與實例演示分析

    Java?HttpURLConnection使用方法與實例演示分析

    這篇文章主要介紹了Java?HttpURLConnection使用方法與實例演示,HttpURLConnection一個抽象類是標準的JAVA接口,該類位于java.net包中,它提供了基本的URL請求,響應等功能,下面我們來深入看看
    2023-10-10
  • springboot對象為null的屬性在json中不顯示的解決

    springboot對象為null的屬性在json中不顯示的解決

    這篇文章主要介紹了springboot對象為null的屬性在json中不顯示的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • java中建立0-10m的消息(字符串)實現(xiàn)方法

    java中建立0-10m的消息(字符串)實現(xiàn)方法

    下面小編就為大家?guī)硪黄猨ava中建立0-10m的消息(字符串)實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringBoot2.x實現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴

    SpringBoot2.x實現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴

    這篇文章主要介紹了SpringBoot2.x實現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 在Spring中編寫事務的介紹

    在Spring中編寫事務的介紹

    今天小編就為大家分享一篇關于在Spring中編寫事務的介紹,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Spring Boot 配置和使用多線程池的實現(xiàn)

    Spring Boot 配置和使用多線程池的實現(xiàn)

    這篇文章主要介紹了Spring Boot 配置和使用多線程池的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Java 中的抽象介紹

    Java 中的抽象介紹

    這篇文章主要介紹了Java 中的抽象,數(shù)據(jù)抽象是一種僅向用戶顯示基本細節(jié)的屬性。不向用戶顯示瑣碎或非必需的單元,下面文章Java抽象詳細內容,需要的朋友可以參考一下
    2021-12-12
  • java如何讀取超大文件

    java如何讀取超大文件

    這篇文章主要為大家詳細介紹了java如何讀取超大文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • SpringBoot整合JavaMail郵件的兩種方式

    SpringBoot整合JavaMail郵件的兩種方式

    這篇文章主要介紹了SpringBoot整合JavaMail郵件的兩種方式,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • 淺析java中ArrayList與Vector的區(qū)別以及HashMap與Hashtable的區(qū)別

    淺析java中ArrayList與Vector的區(qū)別以及HashMap與Hashtable的區(qū)別

    以下是對java中ArrayList與Vector的區(qū)別以及HashMap與Hashtable的區(qū)別進行了詳細的解析。需要的朋友可以過來參考下
    2013-08-08

最新評論