Servlet--HttpServletRequest一些不常用的方法
生活随笔
收集整理的這篇文章主要介紹了
Servlet--HttpServletRequest一些不常用的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們在使用Servlet和表單進行交互的時候,不管是傳參和接參經常要寫一些路徑。關于具體的Servlet的傳參和接參我后面會有詳細的整理,這里先整理一下不怎么常用的到一些HttpServletRequest的方法,這些我們其實都應該是知道的。
OK,我們用myeclipse new一個jsp頁面的時候,最上面的2行會帶出信息說:
<%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %>
這里的path就是我們在提交表單時候要寫的絕對路徑的開頭,也就是項目名。
basePath是整個的提交請求時候的完整的路徑。
我下面自己寫一個Servlet,里面調用下這些方法,統一做一個整理,雖然不怎么用到,但是還是要知道這些方法的。
package linkin;import java.io.IOException; import java.util.Enumeration;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class LinkinServlet extends HttpServlet {private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{//請求的上下文路徑 /linkinSystem.out.println(req.getContextPath());//請求的完整的URI /linkin/LinkinServletSystem.out.println(req.getRequestURI());//請求的完整的URL http://localhost:8080/linkin/LinkinServletSystem.out.println(req.getRequestURL());//請求的Servlet在項目中的路徑 /LinkinServletSystem.out.println(req.getServletPath());//請求的http請求類型 GETSystem.out.println(req.getMethod());//請求的協議類型 httpSystem.out.println(req.getScheme());//請求的主機IP localhostSystem.out.println(req.getServerName());//請求的主機的端口 8080System.out.println(req.getServerPort());//請求的header里面的信息,這里是get方式,所以里面都是nullEnumeration enumeration = req.getHeaderNames();while (enumeration.hasMoreElements()){String header = (String) enumeration.nextElement();System.out.println(header + ":" + req.getHeader("header"));/*host:nullconnection:nullcache-control:nullaccept:nulluser-agent:nullaccept-encoding:nullaccept-language:null*/}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{this.doGet(req, resp);}}
- 獲取請求行的相關信息
HTTP請求消息的請求行包括請求方式、資源路徑和HTTP協議版本:
GET /lampbrother/servlet/RequestURI?param1=a¶m2=b HTTP/1.1
getMethod:返回HTTP請求消息中的請求方式。
getRequestURI:返回請求行中的資源名部分。
getQueryString :返回請求行中的參數部分。
getProtocol:返回請求行中的協議名和版本。
getContextPath:返回請求資源所屬于的WEB應用程序的路徑。
getPathInfo:返回請求URL中的額外路徑信息。額外路徑信息是請求URL中的位于Servlet的路徑之后和查詢參數之前的內容,它以“/”開頭。
getPathTranslated:返回URL中的額外路徑信息所對應的資源的真實路徑。?
getServletPath方法:Servlet的名稱或Servlet所映射的路徑。 ?
- 獲取網絡連接信息
getRemoteHost方法返回發出請求的客戶機的完整主機名,即“pc1.atguigu.com”這種格式。
getRemotePort方法返回發出請求的客戶機所使用的網絡接口的端口號。
getLocalAddr方法返回WEB服務器上接收當前請求的網絡接口的IP地址。
getLocalName方法返回WEB服務器上接收當前請求的網絡接口的IP地址所對應的主機名。
getLocalPort方法返回WEB服務器上接收當前請求的網絡接口的端口號。
getServerName方法返回當前請求所指向的主機名。?
getServerPort方法返回當前請求所連接的服務器端口號。
getScheme方法返回請求的協議名,例如http、https或ftp。
getRequestURL方法返回客戶端發出請求時的完整URL。 ??
轉載于:https://www.cnblogs.com/LinkinPark/p/5233009.html
總結
以上是生活随笔為你收集整理的Servlet--HttpServletRequest一些不常用的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术大牛长成记之不要光看热闹
- 下一篇: 《算法入门经典大赛——培训指南》第二章考