web工程中URL地址的寫法


     在開發中我們不可避免的要碰到許多需要寫URL地址的情況,這常常讓我們感到頭疼。下面筆者推薦一種簡單的做法。URL地址分為絕對路徑和相對路徑兩種。相對路徑又分為相對資源路徑和相對根路徑。顯然絕對路徑在開發中是要禁用的。至於相對資源路徑和相對根路徑用哪個的問題,筆者推薦用相對根路徑,相對資源路徑容易引起混亂。筆者建議在web開發中通通使用相對根路徑,即通通以"/"開頭寫URL地址。因為這樣我們只需弄清楚"/"代表誰即可。可以簡單的理解為"/"是給誰用的,就代表誰。給服務器用,代表web工程;給瀏覽器用就代表webapps。

package com.yyz.response;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//web工程中URL地址的寫法
public class ResponseDemo extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //servletContext,給服務器用,"/"代表web工程
        this.getServletContext().getRealPath("/download/1.gif");
        //forward,給服務器用,"/"代表web工程。
        this.getServletContext().getRequestDispatcher("/register.html");
        //sendRedirct,給瀏覽器用,"/"代表webapps。
        response.sendRedirect("/test/register.html");
/**
 * 在register.html中要訪問ResponseDemo.java,超鏈接的寫法,給瀏覽器用,"/"代表webapps
 * <a href="/test/servlet/ResponseDemo"></a>
 */
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

    }

}

為了便於大家理解,下面附上Myeclipse下Package Explorer的結構圖:

 

 

另外還有一個容易疑惑的地方,究竟使用"/"還是用"\\"。讀取硬盤上的資源用"\\",處理URL資源用"/"。而服務器中的所有資源都是web資源,通通用"/"。但當我們讀取硬盤上的一個文件時用"\\",如

 FileInputStream in = new FileINputStream("c:\\ag\\sd")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM