【Servlet】Request/Response/Cookie/Session中常用方法
生活随笔
收集整理的這篇文章主要介紹了
【Servlet】Request/Response/Cookie/Session中常用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#1.Request
package com.tcb.servlet;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** 目的:總結HttpRequest中常用的方法*/ public class Servlet01Request extends HttpServlet {private static final long serialVersionUID = 1L;public Servlet01Request() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//一、路徑問題://1.上下文路徑: /TCB-Request01 當前項目目錄(重要的)String contextPath=request.getContextPath();System.out.println("======contextPath======="+contextPath);//2.uri--統一資源標識符: /TCB-Request01/Servlet01 服務器上的路徑String uri=request.getRequestURI();System.out.println("======uri======="+uri);//3.url--統一資源定位符: http://localhost:8080/TCB-Request01/Servlet01String url=request.getRequestURL().toString();System.out.println("======url======="+url);////統一資源標識符=http://localhost/資源標識符//訪問的地址:統一資源定位符//二、提交方式--GET/POST 默認是GET方式,此處運行結果為GETString method=request.getMethod();System.out.println("======method======="+method);//三、服務器內部--根據需求設置要傳的值,并在其他頁面根據Request獲取值--利用的Request是域對象的特性,進行頁面見傳值//注意:區別于Parameterrequest.setAttribute("key", "value");request.getAttribute("");//根據名稱獲取指定傳的值request.getAttributeNames();//獲取所有的傳值的名稱//四、客戶端--獲取客戶端傳來的參數Parameter--比如get方式中地址欄問號?后的username=Jane&password=123//1.根據指定參數名稱獲取值request.getParameter("");//值為單個時request.getParameterValues("");//值為多個時,返回值為數組--比如愛好hobby,一個參數名下對應多個值//2.獲取所有參數名稱request.getParameterNames();//3.獲取所有參數,并一鍵值對(key=value)的形式存在map集合中request.getParameterMap();//五、獲得Cookie和sessionrequest.getCookies();request.getSession();request.getRequestedSessionId();//獲取session的id,每個session都會在客戶端生成一個唯一的id//六、設置編碼方式request.setCharacterEncoding("utf-8");//七、轉發--地址欄不變,請求一次request.getRequestDispatcher("要跳轉到的頁面地址").forward(request, response);request.getRequestDispatcher("要跳轉到的頁面地址").include(request, response);//包含,功能與forward類似,不常用}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}#2.Response
package com.tcb.servlet;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** 目的:總結HttpResponse中常用的方法*/ public class Servlet02Response extends HttpServlet {private static final long serialVersionUID = 1L;public Servlet02Response() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//一、設置編碼--當然也可以獲取編碼方式,不常用就不一一列出了//設置響應輸出的編碼方式,不常用,一般用下面那個response.setCharacterEncoding("utf-8");//告訴瀏覽器輸出的文本是html,讓瀏覽器按照html方式進行解析,并且HTML的文件的編碼格式是utf-8//因為在進行輸出時可以寫html標簽,若沒有設置為如下格式,就不能解析html標簽//比如:response.getWriter().write("<a href='http://www.baidu.com' >百度<a/>");response.setContentType("text/html;charset=utf-8");//二、輸出流response.getWriter();//字符流response.getOutputStream();//字節流//三、添加CookieCookie cookie=new Cookie("username", "用戶名");response.addCookie(cookie);//四、設置請求頭--常用于文件下載response.setHeader("content-type", "image/png");//設置請求頭內容類型,為png類型圖片//content-disposition內容配置//attachment代表附件的意思 保存下載內容response.setHeader("content-disposition", "attachment;filename="+"文件名稱,帶擴展名");//setHeader實現刷新//3s后刷新,只刷新一次--其中3指代時間 所以setHeader也可以實現頁面跳轉response.setHeader("refresh", "3;url=刷新跳轉的頁面地址,可以是jsp,HTML,Servlet等");response.setIntHeader("refresh", 3);//目的:循環是刷新,每隔3s去刷新//五、重定向--地址欄變化,請求兩次response.sendRedirect("要跳轉到的頁面地址,一般用絕對路徑");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}#3.Cookie
package com.tcb.servlet;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** 目的:總結Cookie中常用的方法*/ public class Servlet03Cookie extends HttpServlet {private static final long serialVersionUID = 1L;public Servlet03Cookie() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//獲取Cookierequest.getCookies();//創建和添加CookieCookie cookie=new Cookie("", "");//參數1:參數名 參數2:參數值response.addCookie(cookie);//設置Cookie有效時間和路徑cookie.setMaxAge(0);//設置Cookie有效時間,單位是秒 值為0時,表示Cookie失效(默認) cookie.setPath("uri,路徑");//設置Cookie路徑//獲取Cookie的值和名以及當前路徑cookie.getName();cookie.getValue();cookie.getPath();}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}#4.Session
package com.tcb.servlet;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;/*** 目的:總結Session中常用的方法*/ public class Servlet04Session extends HttpServlet {private static final long serialVersionUID = 1L;public Servlet04Session() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//創建sessionHttpSession session=request.getSession();//給session賦值以及獲取值--參數1:參數名 參數2:參數值session.setAttribute("key", "value");session.getAttribute("");//根據傳值的名稱獲取值session.getAttributeNames();//獲取session中存的所有值的名稱//設置session有效時間,單位秒session.setMaxInactiveInterval(5);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}總結
以上是生活随笔為你收集整理的【Servlet】Request/Response/Cookie/Session中常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 13-MySQL面向对象设计:数据表与J
- 下一篇: 算法--微软面试题:求一个整数数组元素间