一、實(shí)驗(yàn)?zāi)康?br />
1.通過(guò)HttpServletResponse接口中的相應(yīng)方法設(shè)置響應(yīng)頭;

2.通過(guò)response.ContentType()方法設(shè)置響應(yīng)內(nèi)容類(lèi)型;

3.通過(guò)response.sendRedirect()方法實(shí)" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢(xún) 在線咨詢(xún)
15158846557 在線咨詢(xún)
所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)站運(yùn)營(yíng) > Java Web實(shí)驗(yàn)報(bào)告:HTTP的響應(yīng)

Java Web實(shí)驗(yàn)報(bào)告:HTTP的響應(yīng)

時(shí)間:2023-10-06 17:18:02 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-10-06 17:18:02 來(lái)源:網(wǎng)站運(yùn)營(yíng)

Java Web實(shí)驗(yàn)報(bào)告:HTTP的響應(yīng):第二部分 HTTP的響應(yīng)

一、實(shí)驗(yàn)?zāi)康?/b>

1.通過(guò)HttpServletResponse接口中的相應(yīng)方法設(shè)置響應(yīng)頭;

2.通過(guò)response.ContentType()方法設(shè)置響應(yīng)內(nèi)容類(lèi)型;

3.通過(guò)response.sendRedirect()方法實(shí)現(xiàn)響應(yīng)重定向,掌握它與請(qǐng)求轉(zhuǎn)發(fā)之間的區(qū)別;

4.通過(guò)response.setStaus()方法設(shè)置狀態(tài)碼。

二、實(shí)驗(yàn)原理

由服務(wù)器向客戶(hù)發(fā)送的HTTP消息稱(chēng)為HTTP響應(yīng)。HTTP響應(yīng)由三部分組成:狀態(tài)行、響應(yīng)頭和響應(yīng)數(shù)據(jù)。在Servlet中,可以通過(guò)HttpServletResponse的response對(duì)象的相應(yīng)方法可以向客戶(hù)端發(fā)送狀態(tài)碼,設(shè)置響應(yīng)內(nèi)容的類(lèi)型,實(shí)現(xiàn)響應(yīng)重定向等功能。

三、實(shí)驗(yàn)內(nèi)容與步驟

新建一個(gè)名為RefreshServlet的Servlet,通過(guò)方法

response.setHeader("refresh","3");實(shí)現(xiàn)每3秒刷新一次頁(yè)面

package com.demo;import java.io.IOException;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet(name = "RefreshServlet", urlPatterns = {"/RefreshServlet"})public class RefreshServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=gb2312"); response.setHeader("refresh","3"); PrintWriter out = response.getWriter(); Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd a HH:mm:ss"); String s = sdf.format(date); out.println("<html>"); out.println("<body>"); out.println("<h3 align=/"center/">每3秒鐘刷新一次頁(yè)面</h3><p>"); out.println("<h3 align=/"center/">現(xiàn)在的時(shí)間是:"+s+"</h3><p>"); out.println("</body>"); out.println("</html>"); } }
圖2-8 Servlet實(shí)現(xiàn)頁(yè)面刷新
2.通過(guò)將響應(yīng)內(nèi)容類(lèi)型設(shè)置為“application/msword”,輸出以word形式發(fā)送給客戶(hù)瀏覽器

(1)新建一個(gè)名為WordServlet的Servlet

package com.demo;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet(name = "WordServlet", urlPatterns = {"/WordServlet"})public class WordServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Content-Encoding","gb2312"); //設(shè)置響應(yīng)的內(nèi)容類(lèi)型 response.setContentType("application/msword;charset = UTF-8"); PrintWriter out = response.getWriter(); out.println("這是一個(gè)word文件,你可以在該文件上編輯實(shí)現(xiàn)word文檔的功能"); }}(2)運(yùn)行WordServlet.java文件,下載“WordServlet”的文件,并用“Microsoft Office Word”打開(kāi)該文件

3.編寫(xiě)hobby.html,并根據(jù)用戶(hù)填寫(xiě)的信息,在Servlet中實(shí)現(xiàn)響應(yīng)重定向

新建一個(gè)名為hobby的html文件

<html> <head> <title>興趣愛(ài)好</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <form action="hobby.do" method="get"> 姓名:<input type="text" name="name"><br> 班別:<input type="text" name="class"><br> <p>興趣: <input type="radio" name="hobby" value="1">編程 <input type="radio" name="hobby" value="2">新聞 <input type="radio" name="hobby" value="3">游戲 <br> <input type="submit" value="提交"> <input type="reset" value="重置"> </body></html>
圖2-9 hobby.html
(2)編寫(xiě)一個(gè)名為HobbyServlet的Servlet,運(yùn)行hobby.html,填寫(xiě)信息后單擊“提交”按鈕,Servlet源代碼如下:

package com.demo;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet(name = "HobbyServlet", urlPatterns = {"/hobby.do"})public class HobbyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String hobby = request.getParameter("hobby"); //根據(jù)興趣決定響應(yīng)重定向的網(wǎng)站 if(hobby!=null&&hobby.equals("1")){ response.sendRedirect("http://www.csdn.net/?ref=toolbar"); }else if(hobby!=null&&hobby.equals("2")){ response.sendRedirect("http://news.163.com/"); }else if(hobby!=null&&hobby.equals("3")){ response.sendRedirect("http://www.4399.com/"); }else {//如果沒(méi)有填寫(xiě)興趣選項(xiàng),則向客戶(hù)端發(fā)送狀態(tài)碼和錯(cuò)誤信息 response.sendError(404,"沒(méi)有填寫(xiě)興趣選項(xiàng)"); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
圖2-10 跳轉(zhuǎn)至CSND網(wǎng)頁(yè)(當(dāng)興趣選項(xiàng)為“編程”時(shí))
(3)再次運(yùn)行hobby.html,省缺填寫(xiě)“興趣選項(xiàng)”后單擊“提交”按鈕,查看運(yùn)行結(jié)果,并思考(提示:與 HobbyServlet中的語(yǔ)句response.sendError(404,"沒(méi)有填寫(xiě)興趣選項(xiàng)");有關(guān))

圖2-11 跳轉(zhuǎn)至網(wǎng)易新聞網(wǎng)頁(yè)(當(dāng)興趣選項(xiàng)為“新聞”時(shí))
圖2-12 跳轉(zhuǎn)至4399小游戲網(wǎng)頁(yè)(當(dāng)興趣選項(xiàng)為“游戲”時(shí))
(1)思考響應(yīng)重定向與請(qǐng)求轉(zhuǎn)發(fā)的不同之處

1、重定向是兩次請(qǐng)求,轉(zhuǎn)發(fā)是一次請(qǐng)求,因此轉(zhuǎn)發(fā)的速度要快于重定向

2、重定向之后地址欄上的地址會(huì)發(fā)生變化,變化成第二次請(qǐng)求的地址,轉(zhuǎn)發(fā)之后地址欄上的地址不會(huì)變化,還是第一次請(qǐng)求的地址

3、轉(zhuǎn)發(fā)是服務(wù)器行為,重定向是客戶(hù)端行為。重定向時(shí)瀏覽器上的網(wǎng)址改變 ,轉(zhuǎn)發(fā)是瀏覽器上的網(wǎng)址不變

4、重定向是兩次request,轉(zhuǎn)發(fā)只有一次請(qǐng)求

5、頁(yè)面顯示不同,當(dāng)使用重定向時(shí),瀏覽器中所顯示的URL會(huì)變成新頁(yè)面的URL,,而當(dāng)使用轉(zhuǎn)發(fā)時(shí),該URL會(huì)保持不變

四、實(shí)驗(yàn)總結(jié)

關(guān)鍵詞:響應(yīng),報(bào)告,實(shí)驗(yàn)

74
73
25
news
  • 網(wǎng)站
  • 營(yíng)銷(xiāo)
  • 設(shè)計(jì)
  • 運(yùn)營(yíng)
  • 優(yōu)化
  • 效率
  • 專(zhuān)注
  • 電商
  • 方案
  • 推廣
為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉