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

鍍金池/ 教程/ Linux/ Servlet URL重寫帶參數(shù)
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會(huì)話
Servlet HttpServlet類
Servlet注冊表單示例
Servlet表單隱藏字段
Servlet下載文件
Servlet教程
Servlet身份驗(yàn)證過濾器
Servlet ServletOutputStream類
Servlet HttpSession登錄注銷實(shí)例
Servlet啟動(dòng)時(shí)加載
Servlet事件和監(jiān)聽器
使用Eclipse創(chuàng)建Servlet
Servlet ServletContextEvent事件
Servlet HttpSessionEvent統(tǒng)計(jì)在線用戶數(shù)實(shí)例
Servlet RequestDispatcher請求轉(zhuǎn)發(fā)
Servlet使用注釋
Servlet過濾器示例
Servlet過慮器
Servlet ServletContext配置信息
Servlet登錄注銷Cookies實(shí)例
Servlet工作流程
Servlet會(huì)話跟蹤
Servlet登錄實(shí)例
Servlet ServletRequest接口
Servlet ServletRequestEvent類和接口
Servlet入門程序
Servlet查詢搜索數(shù)據(jù)示例
Servlet FilterConfig應(yīng)用示例
Servlet顯示所有頭信息
Servlet屬性設(shè)置
使用NetBeans創(chuàng)建Servlet
Servlet接口實(shí)現(xiàn)
Servlet上傳文件

Servlet URL重寫帶參數(shù)

在URL重寫中,我們將令牌或標(biāo)識符附加到下一個(gè)Servlet或下一個(gè)資源的URL。可以使用以下格式發(fā)送參數(shù)名稱/值對:

http://localhost/myappurl?key1=value1&key2=value2&??...

使用=符號分隔名稱和值,使用&符號將參數(shù)名/值對與其他參數(shù)分開。當(dāng)用戶單擊超鏈接時(shí),參數(shù)名稱/值對將被傳遞到服務(wù)器。 從Servlet中可以使用getParameter()方法獲取指定參數(shù)的值。

網(wǎng)址重寫的優(yōu)點(diǎn)

  • 無論Cookie是否被禁用(瀏覽器無關(guān)),它將始終有效。
  • 每個(gè)頁頁不需要額外的表單提交。

URL重寫的缺點(diǎn)

  • 它只能在鏈接上工作。
  • 它只能發(fā)送文本信息。

使用URL重寫的示例

在這個(gè)例子中,我們使用鏈接來維護(hù)用戶的狀態(tài)。為此,在查詢字符串中附加用戶的名稱,并從另一頁面的查詢字符串中獲取該值。

打開Eclipse,創(chuàng)建一個(gè)動(dòng)態(tài)Web項(xiàng)目:UrlRewriting,其完整的結(jié)構(gòu)如下所示 -

下面是此項(xiàng)目中幾個(gè)重要的文件代碼。

文件:index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>URL重寫</title>
</head>
<body>
    <div style="text-algin: center; padding-top: 12px;">
        <form action="servlet1" method="get">
            名字:<input type="text" name="username" value="maxsu"/><input type="submit"
                value="提交" />
        </form>
    </div>
</body>
</html>

文件:FirstServlet.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 FirstServlet
 */
public class FirstServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String n = request.getParameter("username");

        out.print("您好, " + n + "<br/><hr/>");

        // appending the username in the query string
        out.print("<a href='servlet2?uname=" + n + "'>使用URL參數(shù)訪問用戶名</a>");

        out.close();
    }

}

文件:SecondServlet.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 FirstServlet
 */
@WebServlet("/FirstServlet")
public class SecondServlet 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.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8"); 
        PrintWriter out = response.getWriter();  

        //getting value from the query string  
        String n=request.getParameter("uname");  
        out.print("Hello "+n);  

        out.close();  
    }

}

文件: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>UrlRewriting</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>s1</servlet-name>
        <servlet-class>com.yiibai.FirstServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>s1</servlet-name>
        <url-pattern>/servlet1</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>s2</servlet-name>
        <servlet-class>com.yiibai.SecondServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>s2</servlet-name>
        <url-pattern>/servlet2</url-pattern>
    </servlet-mapping>
</web-app>

在編寫上面代碼后,部署此Web應(yīng)用程序,打開瀏覽器訪問URL: http://localhost:8080/UrlRewriting ,如果沒有錯(cuò)誤,應(yīng)該會(huì)看到以下結(jié)果 -

填寫用戶名后點(diǎn)擊提交表單,應(yīng)該會(huì)看到以下結(jié)果 -

注意: 在URL中,附加了參數(shù)”username=maxsu” 來區(qū)別用戶。

再次點(diǎn)擊“使用URL參數(shù)訪問用戶名”鏈接,看到顯示的用戶名:maxsu -


上一篇:Servlet教程下一篇:Servlet增刪改查