在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ Servlet重定向
Servlet web.xml welcome-file-list
Servlet從數(shù)據(jù)庫(kù)讀取記錄性能優(yōu)化
Servlet URL重寫(xiě)帶參數(shù)
War文件
Web技術(shù)基礎(chǔ)
Servlet GenericServlet類
Servlet API
Servlet ServletInputStream類
使用MyEclipse創(chuàng)建Servlet
Servlet增刪改查
Servlet ServletConfig配置信息
Servlet Cookies
Servlet重定向
Servlet生命周期
Servlet HttpSession會(huì)話
Servlet HttpServlet類
Servlet注冊(cè)表單示例
Servlet表單隱藏字段
Servlet下載文件
Servlet教程
Servlet身份驗(yàn)證過(guò)濾器
Servlet ServletOutputStream類
Servlet HttpSession登錄注銷實(shí)例
Servlet啟動(dòng)時(shí)加載
Servlet事件和監(jiān)聽(tīng)器
使用Eclipse創(chuàng)建Servlet
Servlet ServletContextEvent事件
Servlet HttpSessionEvent統(tǒng)計(jì)在線用戶數(shù)實(shí)例
Servlet RequestDispatcher請(qǐng)求轉(zhuǎn)發(fā)
Servlet使用注釋
Servlet過(guò)濾器示例
Servlet過(guò)慮器
Servlet ServletContext配置信息
Servlet登錄注銷Cookies實(shí)例
Servlet工作流程
Servlet會(huì)話跟蹤
Servlet登錄實(shí)例
Servlet ServletRequest接口
Servlet ServletRequestEvent類和接口
Servlet入門(mén)程序
Servlet查詢搜索數(shù)據(jù)示例
Servlet FilterConfig應(yīng)用示例
Servlet顯示所有頭信息
Servlet屬性設(shè)置
使用NetBeans創(chuàng)建Servlet
Servlet接口實(shí)現(xiàn)
Servlet上傳文件

Servlet重定向

HttpServletResponse接口的sendRedirect()方法可以用于將響應(yīng)重定向到另一個(gè)資源,資源可能是servlet,jsphtml文件。

它接受相對(duì)和絕對(duì)URL。

它在客戶端工作,因?yàn)樗褂脼g覽器的URL欄來(lái)發(fā)出另一個(gè)請(qǐng)求。 所以,它可以在服務(wù)器內(nèi)部和外部工作。

forward()和sendRedirect()方法的區(qū)別

RequestDispatcherforward()方法和HttpServletResponse接口的sendRedirect()方法之間存在很多差異。如下面給出:

forward()方法 sendRedirect()方法
forward()方法在服務(wù)器端工作。 sendRedirect()方法在客戶端工作。
它將相同的請(qǐng)求和響應(yīng)對(duì)象發(fā)送到另一個(gè)servlet。 它總是發(fā)送一個(gè)新的請(qǐng)求。
它只能在服務(wù)器內(nèi)工作。 它可以在服務(wù)器內(nèi)外使用。
示例: request.getRequestDispacher("servlet2").forward(request,response); 示例: response.sendRedirect("servlet2");

sendRedirect()方法的語(yǔ)法

public void sendRedirect(String URL)throws IOException;

sendRedirect()方法的示例

response.sendRedirect("http://www.yiibai.com");

servlet中sendRedirect()方法的完整示例

打開(kāi)Eclipse創(chuàng)建一個(gè)動(dòng)態(tài)Web項(xiàng)目:SendRedirect,如下所示 -

在此示例中,我們將請(qǐng)求重定向到yiibai.com網(wǎng)站。請(qǐng)注意,sendRedirect()方法在客戶端工作,所以可以將請(qǐng)求重定向到任何地方??梢栽诜?wù)器內(nèi)外發(fā)送請(qǐng)求。

文件:RedirectServlet.java -

package com.yiibai;

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;

/**
 * Servlet implementation class RedirectServlet
 */
public class RedirectServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();

        // 直接重定向到:http://www.yiibai.com
        response.sendRedirect("http://www.yiibai.com");
        pw.close();
    }
}

使用sendRedirect創(chuàng)建自定義關(guān)鍵字搜索

在這個(gè)例子中,使用sendRedirect()方法將請(qǐng)求發(fā)送到具有請(qǐng)求yiibai.com網(wǎng)站上的數(shù)據(jù)。以下是幾個(gè)代碼文件 -

文件:index.html -

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <div style="text-align: center;">
        <form action="/SendRedirect/YiiSearcher">
            關(guān)鍵字:<input type="text" name="keyword"> <input type="submit"
                value="易百教程搜索">
        </form>
    </div>
</body>
</html>

文件:index.java -

package com.yiibai;

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

/**
 * Servlet implementation class YiiSearcher
 */

public class YiiSearcher extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        String keyword = request.getParameter("keyword");
        response.sendRedirect("http://www.yiibai.com/search.php?kw=" + keyword);
    }
}

文件:web.xml -

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    <display-name>SendRedirect</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>RedirectServlet</servlet-name>
        <servlet-class>com.yiibai.RedirectServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>YiiSearcher</servlet-name>
        <servlet-class>com.yiibai.YiiSearcher</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>RedirectServlet</servlet-name>
        <url-pattern>/Redirect</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>YiiSearcher</servlet-name>
        <url-pattern>/YiiSearcher</url-pattern>
    </servlet-mapping>
</web-app>

完成上面代碼編寫(xiě)后,部署這個(gè)Web應(yīng)用程序,打開(kāi)瀏覽器訪問(wèn)URL: http://localhost:8080/SendRedirect/ ,如是程序沒(méi)有錯(cuò)誤,應(yīng)該會(huì)看到類似下面的界面顯示 -

點(diǎn)擊搜索按鈕后,重定向到易百教程的搜索頁(yè)面并搜索指定關(guān)鍵字:servlet,得到以下結(jié)果 -

如果直接訪問(wèn)URL:http://localhost:8080/SendRedirect/Redirect ,那么重定向到 www.yiibai.com 并打開(kāi)易百教程的首頁(yè)。