日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之14.Servlet请求头信息

發(fā)布時(shí)間:2025/1/21 javascript 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之14.Servlet请求头信息 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
–典型的請(qǐng)求頭信息
–讀取HTTP請(qǐng)求頭
–使用表格顯示所有請(qǐng)求頭信息
–理解各種請(qǐng)求頭的含義
–區(qū)分不同的瀏覽器類型
##############Michael分割線################### ? 典型的請(qǐng)求頭信息 ? 讀取HTTP請(qǐng)求頭
–使用HttpServletRequest中的方法
? 一般方法
–getHeader (header名稱不區(qū)分大小寫)
–getHeaders
–getHeaderNames

? 專門方法
–getCookies
–getAuthType
–getRemoteUser
–getContentLength
–getContentType
–getDateHeader
–getIntHeader

? 相關(guān)信息
–getMethod
–getRequestURI
–getQueryString
–getProtocol
? 使用表格顯示有請(qǐng)求頭信息 login.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">????
<html>????
????<head>????
????????<title>login.html</title>????
????????<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">????
????????<meta http-equiv="description" content="this is my page">????
????????<meta http-equiv="content-type" content="text/html; charset=UTF-8">????
????????<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->????

????</head>????
????<body>????
????????<form name="f1" id="f1" action="/Servlet_RequestHeader/servlet/RequestHeaderServlet" method="post">????
????????????<table border="0">????
????????????????<tr>????
????????????????????<td>Login:</td>????
????????????????????<td><input type="text" name="login" id="login"></td>????
????????????????</tr>????
????????????????<tr>????
????????????????????<td>Password:</td>????
????????????????????<td><input type="password" name="password" id="password"></td>????
????????????????</tr>????
????????????????<tr>????
????????????????????<td colspan="2" align="center"><input type="submit" value="login"></td>????
????????????????</tr>????
????????????</table>????
????????</form>????
????</body>????
</html>
RequestHeaderServlet.java package com.michael.servlet;????

import java.io.IOException;????
import java.io.PrintWriter;????
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 RequestHeaderServlet extends HttpServlet {????

????????/**????
???????? * Constructor of the object.????
???????? */
????
????????public RequestHeaderServlet() {????
????????????????super();????
????????}????

????????/**????
???????? * Destruction of the servlet. <br>????
???????? */
????
????????public void destroy() {????
????????????????super.destroy(); // Just puts "destroy" string in log????
????????????????// Put your code here????
????????}????

????????/**????
???????? * The doGet method of the servlet. <br>????
???????? *????
???????? * This method is called when a form has its tag value method equals to get.????
???????? *????
???????? * @param request the request send by the client to the server????
???????? * @param response the response send by the server to the client????
???????? * @throws ServletException if an error occurred????
???????? * @throws IOException if an error occurred????
???????? */
????
????????public void doGet(HttpServletRequest request, HttpServletResponse response)????
????????????????????????throws ServletException, IOException {????

????????????????doPost(request,response);????
????????}????

????????/**????
???????? * The doPost method of the servlet. <br>????
???????? *????
???????? * This method is called when a form has its tag value method equals to post.????
???????? *????
???????? * @param request the request send by the client to the server????
???????? * @param response the response send by the server to the client????
???????? * @throws ServletException if an error occurred????
???????? * @throws IOException if an error occurred????
???????? */
????
????????public void doPost(HttpServletRequest request, HttpServletResponse response)????
????????????????????????throws ServletException, IOException {????
????????????????Enumeration names = request.getHeaderNames();????????????????

????????????????response.setContentType("text/html");????
????????????????PrintWriter out = response.getWriter();????
????????????????out????
????????????????????????????????.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");????
????????????????out.println("<HTML>");????
????????????????out.println("????<HEAD><TITLE>A Servlet</TITLE></HEAD>");????
????????????????out.println("????<BODY>");????

????????????????out.println("<table>");????
????????????????out.println("<tr>");????
????????????????out.println("<th>");????
????????????????out.println("RequestHeader Name");????
????????????????out.println("</th>");????
????????????????out.println("<th>");????
????????????????out.println("RequestHeader Value");????
????????????????out.println("</th>");????
????????????????out.println("</tr>");????
????????????????while(names.hasMoreElements()){????
????????????????????????String name = (String) names.nextElement();????
????????????????????????String value = request.getHeader(name);????
????????????????????????out.println("<tr>");????
????????????????????????out.println("<td>");????
????????????????????????out.println(name);????
????????????????????????out.println("</td>");????
????????????????????????out.println("<td>");????
????????????????????????out.println(value);????
????????????????????????out.println("</td>");????
????????????????????????out.println("</tr>");????
????????????????}????
????????????????out.println("</table>");????
????????????????out.println("????</BODY>");????
????????????????out.println("</HTML>");????
????????????????out.flush();????
????????????????out.close();????
????????}????

????????/**????
???????? * Initialization of the servlet. <br>????
???????? *????
???????? * @throws ServletException if an error occure????
???????? */
????
????????public void init() throws ServletException {????
????????????????// Put your code here????
????????}????

}
看下效果 ? 理解各種請(qǐng)求頭的含義
– Accept
? 標(biāo)識(shí)瀏覽器能處理MIME類型
? 能發(fā)送不同的內(nèi)容到不同的客戶端. 例如,PNG文件有好的壓縮特性,但是在瀏覽器中支持的不是很廣泛。
? 一個(gè)Servlet可以檢查是否支持PNG文件格式,如果支持
– <IMG SRC=“picture.png” ...> 否則
– <IMG SRC="picture.gif" ...>
– Accept-Encoding
? 標(biāo)識(shí)瀏覽器能處理的編碼類型
– Authorization
? 授權(quán)信息,通常出現(xiàn)在對(duì)服務(wù)器發(fā)送的WWW-Authenticate頭的應(yīng)答中
– Connection
? 表示是否需要持久連接。如果Servlet看到這里的值為“Keep-Alive”,或者看到請(qǐng)求使用的是HTTP 1.1(HTTP 1.1默認(rèn)進(jìn)行持久連接),它就可以利用持久連接的優(yōu)點(diǎn),當(dāng)頁(yè)面包含多個(gè)元素時(shí)(例如Applet,圖片),顯著地減少下載所需要的時(shí)間。要實(shí)現(xiàn)這一點(diǎn),Servlet需要在應(yīng)答中發(fā)送一個(gè)Content-Length頭,最簡(jiǎn)單的實(shí)現(xiàn)方法是:先把內(nèi)容寫入ByteArrayOutputStream,然后在正式寫出內(nèi)容之前計(jì)算它的大小。
– Cookie
? 參考Java EE WEB工程師培訓(xùn)-JDBC+Servlet+JSP整合開(kāi)發(fā)之16.Cookie –Host
? 包含一個(gè)URL,用戶從該URL代表的頁(yè)面出發(fā)訪問(wèn)當(dāng)前請(qǐng)求的頁(yè)面
–If-Modified-Since
? 只有當(dāng)所請(qǐng)求的內(nèi)容,在指定的日期之后,又經(jīng)過(guò)修改才返回它,否則返回304“Not Modified”應(yīng)答
–Referer
? 包含一個(gè)URL,用戶從該URL代表的頁(yè)面出發(fā)訪問(wèn)當(dāng)前請(qǐng)求的頁(yè)面。
–User-Agent
? 瀏覽器類型,如果Servlet返回的內(nèi)容與瀏覽器類型有關(guān)則該值非常有用。 ? 區(qū)分不同的瀏覽器類型 BrowserTypeServlet.java package com.michael.servlet;????

import java.io.IOException;????
import java.io.PrintWriter;????

import javax.servlet.ServletException;????
import javax.servlet.http.HttpServlet;????
import javax.servlet.http.HttpServletRequest;????
import javax.servlet.http.HttpServletResponse;????

public class BrowserTypeServlet extends HttpServlet {????

????????/**????
???????? * Constructor of the object.????
???????? */
????
????????public BrowserTypeServlet() {????
????????????????super();????
????????}????

????????/**????
???????? * Destruction of the servlet. <br>????
???????? */
????
????????public void destroy() {????
????????????????super.destroy(); // Just puts "destroy" string in log????
????????????????// Put your code here????
????????}????

????????/**????
???????? * The doGet method of the servlet. <br>????
???????? *????
???????? * This method is called when a form has its tag value method equals to get.????
???????? *????
???????? * @param request the request send by the client to the server????
???????? * @param response the response send by the server to the client????
???????? * @throws ServletException if an error occurred????
???????? * @throws IOException if an error occurred????
???????? */
????
????????public void doGet(HttpServletRequest request, HttpServletResponse response)????
????????????????????????throws ServletException, IOException {????

????????????????doPost(request,response);????
????????}????

????????/**????
???????? * The doPost method of the servlet. <br>????
???????? *????
???????? * This method is called when a form has its tag value method equals to post.????
???????? *????
???????? * @param request the request send by the client to the server????
???????? * @param response the response send by the server to the client????
???????? * @throws ServletException if an error occurred????
???????? * @throws IOException if an error occurred????
???????? */
????
????????public void doPost(HttpServletRequest request, HttpServletResponse response)????
????????????????????????throws ServletException, IOException {????
????????????????String browserName = request.getHeader("user-agent");????
????????????????String result="";????
????????????????if(browserName.indexOf("MSIE")!=-1){????
????????????????????????result = "您當(dāng)前使用的瀏覽器是IE!";????
????????????????}else{????
????????????????????????result = "您當(dāng)前使用的瀏覽器是FireFox!";????
????????????????}????

????????????????response.setContentType("text/html;charset=gbk");????
????????????????PrintWriter out = response.getWriter();????
????????????????out????
????????????????????????????????.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");????
????????????????out.println("<HTML>");????
????????????????out.println("????<HEAD><TITLE>A Servlet</TITLE></HEAD>");????
????????????????out.println("????<BODY>");????
????????????????out.println(result);????
????????????????out.println("????</BODY>");????
????????????????out.println("</HTML>");????
????????????????out.flush();????
????????????????out.close();????
????????}????

????????/**????
???????? * Initialization of the servlet. <br>????
???????? *????
???????? * @throws ServletException if an error occure????
???????? */
????
????????public void init() throws ServletException {????
????????????????// Put your code here????
????????}????

}
測(cè)試 OK! ##############Michael分割線###################

總結(jié)

以上是生活随笔為你收集整理的Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之14.Servlet请求头信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲AV午夜精品 | 色屋在线| 6699嫩草久久久精品影院 | 国产亚洲电影 | 欧美五月婷婷 | 久久99色| 欧美特级一级片 | 超碰成人在线免费观看 | 伊人春色网 | 欧美色激情| 欧美日韩综合在线 | 伊人影院在线视频 | 国产乱码一区 | 亚洲男人天堂网 | 一级片免费观看视频 | 丝袜一区二区三区 | 日韩免费观看一区二区三区 | 欧美日韩高清在线观看 | 一本一道无码中文字幕精品热 | 少妇裸体性生交 | 福利在线一区二区 | 国产区精品在线观看 | 欧美一级在线播放 | 麻豆成人入口 | 国产乱论视频 | 日韩成人免费在线观看 | 无遮挡黄色 | 成年人在线观看视频 | 欧美成人综合色 | 国产一及毛片 | 麻豆天天躁天天揉揉av | 亚洲精品乱码久久久久久写真 | 日韩不卡的av | 伦理片一区二区 | 精品国产乱码久久久久久郑州公司 | 在线三区 | 用力挺进新婚白嫩少妇 | 99无码熟妇丰满人妻啪啪 | 成人精品av | 国产在线麻豆精品观看 | 老熟妇高潮一区二区三区 | 欧洲美女毛片 | 日本黄色激情视频 | h片免费观看 | 亚洲视频五区 | 国产一卡二卡在线 | 一区二区三区四区视频在线观看 | 午夜少妇av| 色老板最新地址 | 久久精品免费一区二区 | 久久精品国产亚洲AV高清综合 | 我想看一级黄色片 | 国产综合视频在线观看 | 93久久精品日日躁夜夜躁欧美 | 成人免费入口 | chinesepron hd videos国产91 | 高清无码一区二区在线观看吞精 | 夜夜成人 | 国内激情视频 | 久久极品视频 | 日韩专区在线播放 | 欧美色人阁 | 亚洲日本精品 | 一区二区三区不卡视频在线观看 | 国产91精品一区二区 | 黄色一级免费网站 | 尤物网站在线 | 精品字幕 | 免费av中文字幕 | 欧美丰满老熟妇xxxxx性 | 国产97色在线| 亚洲国产aⅴ精品一区二区的游戏 | 亚洲精品一区二区三区影院忠贞 | 奇米色综合 | 国产精品久久久久av | 91社区在线播放 | 亚色中文 | 波多野结衣一本 | 五月婷婷av | 特级西西www444人体聚色 | av网站一区二区 | 17c国产精品 | 夜色导航| 欧美视频网站 | 欧美日韩久久精品 | 国产jjizz一区二区三区视频 | 欧美成人另类 | 狠狠人妻久久久久久综合麻豆 | 国产又色又爽又黄的 | 欧美草逼视频 | 免费看黄色aaaaaa 片 | 在线视频在线观看 | 91欧美激情一区二区三区成人 | 免费观看成年人视频 | 日韩视频久久 | 懂色av蜜臀av粉嫩av分享 | 欧美日韩一区二区三区在线视频 | 男女av在线 | 超碰97成人|