首页 > 代码库 > web工程中URL地址的写法

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="http://www.mamicode.com/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")

web工程中URL地址的写法