麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

java學習筆記—HttpServletResponse(24)

2019-11-14 23:39:16
字體:
來源:轉載
供稿:網友
java學習筆記—HttpServletResponse(24)獲取客戶端信息

1 編寫ClientServlet.java

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setCharacterEncoding("utf-8");request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");PRintWriter out = response.getWriter();// 獲取客戶端信息out.println("getMethod(): "+request.getMethod()+"<br/>");out.println("getRequestURL(): "+request.getRequestURL()+"<br/>");out.println("getRequestURI(): "+request.getRequestURI()+"<br/>");out.println("getProtocol(): "+request.getProtocol()+"<br/>");out.println("getQueryString(): "+request.getQueryString()+"<br/>");out.println("getRemoteAddr(): "+request.getRemoteAddr()+"<br/>");out.println("getRemoteHost(): "+request.getRemoteHost()+"<br/>");out.println("getRemotePort(): "+request.getRemotePort()+"<br/>");out.println("getServletPath(): "+request.getServletPath()+"<br/>");out.println("getContextPath(): "+request.getContextPath()+"<br/>");}

以上的方法可以發現通過使用request可以獲取servlet和servletContext的路徑。那么在實際的開發中我們的網站的名字一般都需要進行改變。因此以后在web項目中如果使用到網站名那么一定要使用request.getContextPath()獲取出來而不是寫死。這樣可以提高后期的維護性。

2 獲取服務器信息

編寫一個GetServerInfo.java

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setCharacterEncoding("utf-8");request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();// 獲取客戶端信息out.println("getLocalAddr(): " + request.getLocalAddr() + "<br/>");out.println("getLocalName(): " + request.getLocalName() + "<br/>");out.println("getLocalPort(): " + request.getLocalPort() + "<br/>");}

3 請求轉發

  1. 訪問路徑

http://localhost:8080/demo1?name=jack&passWord=root

實現一個處理用戶請求的Demo1Servlet

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {        // 獲取用戶的請求的參數        String name = request.getParameter("name");        String psw = request.getParameter("password");        // 判斷用戶輸入的信息        if(name != null && psw != null && "jack".equals(name) && "root".equals(psw)){            // 登陸成功需要將用戶信息傳遞給歡迎頁面            request.setAttribute("name", name);            // 登陸成功將頁面轉發到歡迎頁面            request.getRequestDispatcher("/demo2").forward(request, response);        }else{         request.getRequestDispatcher("/regist.html").forward(request, response);        }}

  2. 編寫一個轉發后的Demo2Servlet

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {        response.setCharacterEncoding("utf-8");        request.setCharacterEncoding("utf-8");        response.setContentType("text/html;charset=utf-8");        PrintWriter out = response.getWriter();        // 獲取轉發過來的數據        String name = (String) request.getAttribute("name");        out.println("歡迎光臨:"+name);    }
轉發和重定向的區別
1.    實現方式不同轉發  request.getRequestDispatcher("/regist.html").forward(request, response);重定向 response.sendRedirect(“/day07/regist.html”)2.    請求次數不同轉發只發送一次請求重定向發送2次請求3.    地址欄變化不同轉發地址欄不變重定向地址欄變化4. 轉發的時候可以通過request對象攜帶數據。
Web中路徑問題

如果在web項目中需要使用路徑,如:轉發、重定向還有超鏈接等。

原則:”一切web路徑以/開始”

那么/的路徑一定是相對路徑,那么/到底代表哪一個相對路徑是需要智慧的。

如果該路徑是給服務器使用的,那么/代表當前網站的根目錄。如果該路徑是給瀏覽器使用的,那么/代表當前Tomcat的webapps目錄。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线播放黄色网址 | 99爱福利视频在线观看 | 本站只有精品 | 操操操操网 | 精品久久中文字幕 | 久久综合久久美利坚合众国 | 一级毛片大片 | hd极品free性xxx一护士 | 久久国产成人午夜av浪潮 | 日韩毛片一区二区三区 | 91亚洲免费视频 | 国产va在线观看 | 91天堂国产在线 | 九九热免费在线观看 | 91丨九色丨国产在线观看 | 免费专区 - 91爱爱 | 午夜精品久久久久久久爽 | 国产精品剧情一区二区在线观看 | 成片免费大全 | 成人毛片网站 | 国产jjizz一区二区三区视频 | 国产99视频精品免视看9 | 欧美一区中文字幕 | 91中文在线| 精品91av | 欧洲精品久久久 | 久久影院在线观看 | 亚洲精品午夜国产va久久成人 | 国产日韩在线视频 | 极品销魂一区二区三区 | 中文在线观看视频 | 久久精品国产一区二区 | 中文字幕 欧美 日韩 | 欧美福利视频一区二区三区 | 国产成人羞羞视频在线 | 日韩黄色三级视频 | 色柚视频网站ww色 | 亚洲免费高清 | 国产精品剧情一区二区三区 | 黄色男女视频 | 国产精品自拍99 |