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

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

Servlet重定向

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

它接受相對和絕對URL。

它在客戶端工作,因為它使用瀏覽器的URL欄來發(fā)出另一個請求。 所以,它可以在服務(wù)器內(nèi)部和外部工作。

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

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

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

sendRedirect()方法的語法

public void sendRedirect(String URL)throws IOException;

sendRedirect()方法的示例

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

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

打開Eclipse創(chuàng)建一個動態(tài)Web項目:SendRedirect,如下所示 -

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

文件: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)鍵字搜索

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

文件: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>

完成上面代碼編寫后,部署這個Web應(yīng)用程序,打開瀏覽器訪問URL: http://localhost:8080/SendRedirect/ ,如是程序沒有錯誤,應(yīng)該會看到類似下面的界面顯示 -

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

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