//一、獲取請求參數 //獲取參數的單個值,若有多個則只返回第一個 String parameter1 = request.getParameter("demo"); //獲取參數數組, String[] parameter2 = request.getParameterValues("demo"); //獲取全部參數名值對的java.util.Map<String,String[]> Map<String, String[]> parameterMap = request.getParameterMap(); //獲取全部可用參數的名字的枚舉 Enumeration<String> parameterNames = request.getParameterNames(); // java.lang.NullPointerException // 第一次調用請求對象的getParameter、getParameterValues、getParameterMap、getParameterNames方法時 // Web容器將判斷該請求是否包含post變量,若是包含它將讀取請求的InputStream並解析這些變量,InputStream只能被讀取一次 // 若是在調用了一個含有post請求的getInputStream或getReader以後,再次嘗試獲取請求參數時則會觸發一個java.lang.NullPointerException // 反之若是在獲取了一個含有post變量的請求參數以後再調用getInputStream或getReader也會觸發java.lang.NullPointerException // 任什麼時候候在使用含有post變量的請求時,最好使用參數方法,不要使用getInputStream或getReader //二、肯定與請求內容相關的信息 //獲取請求的MIME(多用途互聯網郵件擴展)內容類型 String contentType = request.getContentType(); //獲取請求正文的長度 int contentLength = request.getContentLength(); long contentLengthLong = request.getContentLengthLong();//內容長度的超過2GB的請求 //獲取請求內容的字符編碼 String characterEncoding = request.getCharacterEncoding(); //三、讀取請求內容,不要在同一個請求上同時使用下面兩種方法,會觸發java.lang.NullPointerException //適用於請求參數時二進制格式的 ServletInputStream inputStream = request.getInputStream(); //適用於請求參數是字符編碼的 //BufferedReader reader = request.getReader(); //四、獲取請求特有信息 //返回客戶端完整的URL http://localhost:8080/dyf-pms/helloServlet.action StringBuffer requestURL = request.getRequestURL(); //返回服務器路徑部分 /dyf-pms/helloServlet.action String requestURI = request.getRequestURI(); //返回用於匹配Servlet映射的URL部分 /helloServlet.action String servletPath = request.getServletPath(); //返回指定名字的請求頭數據 String header = request.getHeader("host"); //返回請求中全部頭數據的名字的枚舉,遍歷全部可用頭數據的好方式 Enumeration<String> headerNames = request.getHeaderNames(); //若是指定的一個 頭數據不能轉化爲整數,則拋出異常NumbereFormatException int intHeader = request.getIntHeader(""); //返回一個Unix時間戳(毫秒),若是頭數據不能轉化爲日期,則拋出異常IllegalArgumentException long dateHeader = request.getDateHeader(""); //設置中文字符編碼 response.setHeader("Content-type", "text/html;charset=UTF-8"); response.setCharacterEncoding("utf-8"); response.getWriter().write("湘爺你好");