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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

(JavaWeb)HttpServletResponse和HttpServletRequest

發布時間:2025/3/20 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (JavaWeb)HttpServletResponse和HttpServletRequest 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • HttpServletResponse
    • 1.簡單分類
    • 2.下載文件
    • 3.重定向
    • 4.登錄成功時重定向功能
  • HttpServletRequest
    • 獲取參數,請求轉發
  • 請求轉發與重定向的區別

HttpServletResponse

web服務器接收到客戶端的http請求,針對這個請求,分別創建一個代表請求的HttpServletRequest對象,代表響應的一個HttpServletResponse;

  • 如果要獲取客戶端請求過來的參數:找HttpServletRequest
  • 如果要給客戶端響應一些信息:找HttpServletResponse

1.簡單分類

負責向瀏覽器發送數據的方法

ServletOutputStream getOutputStream() throws IOException; PrintWriter getWriter() throws IOException;

負責向瀏覽器發送響應頭的方法

void setCharacterEncoding(String var1);void setContentLength(int var1);void setContentLengthLong(long var1);void setContentType(String var1);void setDateHeader(String var1, long var2);void addDateHeader(String var1, long var2);void setHeader(String var1, String var2);void addHeader(String var1, String var2);void setIntHeader(String var1, int var2);void addIntHeader(String var1, int var2);

響應的狀態碼

int SC_CONTINUE = 100;int SC_SWITCHING_PROTOCOLS = 101;int SC_OK = 200;int SC_CREATED = 201;int SC_ACCEPTED = 202;int SC_NON_AUTHORITATIVE_INFORMATION = 203;int SC_NO_CONTENT = 204;int SC_RESET_CONTENT = 205;int SC_PARTIAL_CONTENT = 206;int SC_MULTIPLE_CHOICES = 300;int SC_MOVED_PERMANENTLY = 301;int SC_MOVED_TEMPORARILY = 302;int SC_FOUND = 302;int SC_SEE_OTHER = 303;int SC_NOT_MODIFIED = 304;int SC_USE_PROXY = 305;int SC_TEMPORARY_REDIRECT = 307;int SC_BAD_REQUEST = 400;int SC_UNAUTHORIZED = 401;int SC_PAYMENT_REQUIRED = 402;int SC_FORBIDDEN = 403;int SC_NOT_FOUND = 404;int SC_METHOD_NOT_ALLOWED = 405;int SC_NOT_ACCEPTABLE = 406;int SC_PROXY_AUTHENTICATION_REQUIRED = 407;int SC_REQUEST_TIMEOUT = 408;int SC_CONFLICT = 409;int SC_GONE = 410;int SC_LENGTH_REQUIRED = 411;int SC_PRECONDITION_FAILED = 412;int SC_REQUEST_ENTITY_TOO_LARGE = 413;int SC_REQUEST_URI_TOO_LONG = 414;int SC_UNSUPPORTED_MEDIA_TYPE = 415;int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416;int SC_EXPECTATION_FAILED = 417;int SC_INTERNAL_SERVER_ERROR = 500;int SC_NOT_IMPLEMENTED = 501;int SC_BAD_GATEWAY = 502;int SC_SERVICE_UNAVAILABLE = 503;int SC_GATEWAY_TIMEOUT = 504;int SC_HTTP_VERSION_NOT_SUPPORTED = 505;

2.下載文件

public class FileServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1.要獲取下載文件的路徑String realPath = "C:\\Users\\Administrator\\IdeaProjects\\javaweb-01-maven\\demo02\\src\\main\\resources\\頭像.png";//2.獲取下載的文件名String fileName = realPath.substring(realPath.lastIndexOf("\\")+1);//3.設置瀏覽器支持文件下載,中文文件名URLEncoder.encode編碼,否則有可能亂碼resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(fileName,"UTF-8"));//4.獲取下載文件的輸入流FileInputStream fis = new FileInputStream(realPath);//5.創建緩沖區int len = 0;byte[] buffer = new byte[1024];//6.獲取輸出流對象ServletOutputStream sos = resp.getOutputStream();//7.將FileInputStream流寫入到buffer緩沖區,使用輸出流對象將數據輸出到客戶端while ((len = fis.read(buffer))!=-1){sos.write(buffer,0,len);}fis.close();sos.close();}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

打開網頁輸入servlet目錄,彈出下載框

3.重定向

B一個web資源收到客戶端A請求后,B他會通知A客戶端去訪問另外一個web資源C,這個過程叫重定向

常見場景:

  • 用戶登錄
void sendRedirect(String var1) throws IOException;

測試:

@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {/*resp.setHeader("Location","/r/img");resp.setStatus(302);*/resp.sendRedirect("/r/img");//重定向 }

4.登錄成功時重定向功能

登錄頁面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <body> <form action="${pageContext.request.contextPath}/login" method="get">用戶名:<input type="text" name="username"><br>密碼:<input type="password" name="password"><br><input type="submit"> </form> </body> </html>

登錄成功頁面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body> <h1>登錄成功</h1> </body> </html>

處理請求servlet

public class RequestServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//獲取頁面數據String username = req.getParameter("username");String password = req.getParameter("password");System.out.println("用戶名:"+username);System.out.println("密碼:"+password);//重定向resp.sendRedirect("/demo02_war/success.jsp");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }


點擊提交重定向到登錄成功頁面

HttpServletRequest

HttpServletRequest代表客戶端的請求,用戶通過Http協議訪問服務器,HTTP請求中的所有信息會被封裝到HttpServletRequest,通過這個HttpServletRequest的方法,獲得客戶端的所有信息;

獲取參數,請求轉發

@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //后臺接收中文亂碼問題req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");String username = req.getParameter("username");String password = req.getParameter("password");String[] hobbys = req.getParameterValues("hobbys");System.out.println(username);System.out.println(password);System.out.println(Arrays.toString(hobbys));System.out.println(req.getContextPath());//通過請求轉發//這里的 / 代表當前的web應用req.getRequestDispatcher("/success.jsp").forward(req,resp);}

請求轉發與重定向的區別

面試題:請你聊聊重定向和轉發的區別?

相同點

  • 頁面都會實現跳轉

不同點

  • 請求轉發的時候,url不會產生變化
  • 重定向時候,url地址欄會發生變化;
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的(JavaWeb)HttpServletResponse和HttpServletRequest的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成年无码久久久久毛片 | 成人h动漫精品一区二区无码 | 中国一级特黄真人毛片免费观看 | 在线免费看av| 超碰人人人人人人人 | 亚洲七区 | 色哟哟视频在线 | 69国产精品视频 | 37p粉嫩大胆色噜噜噜 | 户外少妇对白啪啪野战 | 春色导航 | 6080av| 国产精品污 | 欧美视频一区二区 | 884aa四虎影成人精品一区 | 亚洲一区免费在线 | 97成人精品视频在线观看 | 中文字幕校园春色 | 成人爽爽视频 | 午夜免费片 | 免费毛片视频 | 日韩黄色一区 | 欧美一级特黄aa大片 | 国产熟妇一区二区三区四区 | 国产又黄又大又粗的视频 | 精品久久久久久久免费人妻 | 激情丁香 | 人妻色综合网站 | 欧美精品小视频 | 在线观看国产免费视频 | 欧美xxxxx少妇| 日韩草比| 精品久久久久久久久久久久久 | 国产精品久久久久久亚洲色 | 日韩精品免费视频 | 日韩午夜免费视频 | 天天操精品 | 最近2019中文字幕大全第二页 | 香蕉视频三级 | 四虎视频国产精品免费 | jizzjizz亚洲 | 国产v片在线观看 | 国产精品国产三级国产专区51 | 李宗瑞91在线正在播放 | 713电影免费播放国语 | 色偷偷网站 | 超级碰碰97| 精品一区二区在线免费观看 | 亚洲av无码一区二区三区观看 | 亚洲乱妇 | 免费毛片在线播放免费 | 在线观看免费黄网站 | 日韩专区视频 | 男女插鸡视频 | 亚洲精品在线免费观看视频 | 日本一二三区视频 | 中文字幕在线观看高清 | 日韩一级黄色大片 | 欧美 中文字幕 | 超碰在线色 | 国产精品乱码久久久久 | 少妇无内裤下蹲露大唇视频 | 国产一级在线播放 | 黄视频网站在线 | 日韩逼| 无码人妻熟妇av又粗又大 | 麻豆影视国产在线观看 | 日本老师巨大bbw丰满 | 欧美中文字幕在线播放 | 九九涩 | 成人午夜精品无码区 | 特级西西444www大精品视频 | 九色影视 | 伊人日日夜夜 | 三级黄在线观看 | 无码人妻精品一区二区中文 | 丰满少妇被猛烈进入无码 | 国产又大又黄又粗 | 国产视频www | 久久sp| 韩国三级hd中文字幕的背景音乐 | 国产免费一区二区视频 | 国产欧美激情在线观看 | 成人一二三区 | 免费观看nba乐趣影院 | 免费在线亚洲 | xxxx毛片| 在线成人免费观看 | 久久久久99精品成人片 | 精品免费国产一区二区三区四区 | 欧美日韩激情在线一区二区三区 | 怡红院一区 | 色图自拍偷拍 | 超碰最新上传 | 天天狠天天操 | 婷婷综合久久 | 97色伦影院 | 怡红院毛片 | 日韩欧美一区二区三区 |