利用servlet怎么實(shí)現(xiàn)一個(gè)重定向功能

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)利用servlet怎么實(shí)現(xiàn)一個(gè)重定向功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、新寧網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為新寧等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

1.重定向是什么?

這里說的重定向是由http協(xié)議規(guī)定的一種機(jī)制。其工作流程如下所述。

(1)客戶端發(fā)起http請(qǐng)求,訪問服務(wù)器端組件。

(2)服務(wù)器端返回一個(gè)狀態(tài)代碼為302的響應(yīng)結(jié)果。該代碼的意思是讓瀏覽器再訪問另一個(gè)組件,響應(yīng)結(jié)果中包含著訪問新組件的url地址。新的訪問組件可能在同一個(gè)應(yīng)用中也可能不在同一個(gè)應(yīng)用中。

(3)當(dāng)瀏覽器接受到這種結(jié)果,會(huì)自動(dòng)訪問新的url.

(4)瀏覽器端接受新的url返回結(jié)果。

2.實(shí)現(xiàn)

重定向通過Servlet API 中HttpServletReponse接口提供的 sendRedirect(String location)方法完成。

3.重定向特點(diǎn)

3.1 servlet源組件的響應(yīng)結(jié)果不會(huì)返回到客戶端。

3.2  servlet源組件和目標(biāo)組件不會(huì)共享同一個(gè)ServletRequest對(duì)象。

3.3 如果源組件在進(jìn)行重定向前提前提交響應(yīng)結(jié)果,會(huì)報(bào)異常。

       3.4 重定向的地址不必是同一個(gè)服務(wù)器的應(yīng)用。

4.案例

Check1Servlet 第一次請(qǐng)求的類

package com.learn;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created by Administrator on 2017/09/28.
 */
public class Check1Servlet extends HttpServlet {

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  String userName = req.getParameter("name");
  String message = "";

  if(userName == null){
   message = "please input your name";
  } else {
   message = userName;
  }
  req.setAttribute("mess",message);

  PrintWriter out = resp.getWriter();
  out.print("before redirect ");
  System.out.println("before redirect");

  resp.sendRedirect("out1?mess="+message);
  out.print("after redirect");
  System.out.println("after redirect");

  out.close();
 }
}

Out1Servlet 重定向的類

package com.learn;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created by Administrator on 2017/09/28.
 */
public class Out1Servlet extends HttpServlet {

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  String mess = (String) req.getAttribute("mess");
  System.out.println("請(qǐng)求范圍內(nèi)的數(shù)據(jù):"+mess);

  mess = req.getParameter("mess");
  System.out.println("請(qǐng)求參數(shù)中的:"+mess);

  PrintWriter out = resp.getWriter();
  out.write(mess);
  out.close();



 }
}

利用servlet怎么實(shí)現(xiàn)一個(gè)重定向功能

控制臺(tái)輸出結(jié)果:

利用servlet怎么實(shí)現(xiàn)一個(gè)重定向功能

上述就是小編為大家分享的利用servlet怎么實(shí)現(xiàn)一個(gè)重定向功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:利用servlet怎么實(shí)現(xiàn)一個(gè)重定向功能
轉(zhuǎn)載來于:http://muchs.cn/article28/jpdijp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google營銷型網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)