String rname = "";
        if (request.getPathInfo() != null) {
            rname = request.getPathInfo().substring(1);
        }
        if (rname.indexOf('/') > 0) {
            rname = rname.substring(0, rname.indexOf('/'));
        }
        return rname;

解决方案 »

  1.   

    to: dearhuda(胡大)
      不行,request.getPathInfo()的值是空的!:(
      

  2.   

    request.getRequestURL() 应该是可以的阿
    这与你是否安装了apache应该没有关系
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;public class RequestHeaderExample extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException
        {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            Enumeration e = request.getHeaderNames();
            while (e.hasMoreElements()) {
                String name = (String)e.nextElement();
                String value = request.getHeader(name);
                out.println(name + " = " + value);
            }
        }
    }
    运行上面的servlet看看其中是否可以取得地址
      

  3.   

    不能吧!连查j2ee-doc的想法都没有!看一下api-doc全有了!把里面所有有Path, URI, URL的函数试一次,全有了!
      

  4.   

    out.println("&nbsp;&nbsp;&nbsp;AuthType : "+request.getAuthType()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;CharacterEncoding : "+request.getCharacterEncoding()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;ContentType : "+request.getContentType()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;ContentLength : "+request.getContentLength()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;ContextPath : "+request.getContextPath()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;Method : "+request.getMethod()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;PathInfo : "+request.getPathInfo()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;PathTranslated : "+request.getPathTranslated()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;Protocol : "+request.getProtocol()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;QueryString : "+request.getQueryString()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;RemoteAddr : "+request.getRemoteAddr()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;RemoteHost : "+request.getRemoteHost()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;RemoteUser : "+request.getRemoteUser()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;RequestedSessionId : "+request.getRequestedSessionId()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;RequestURI : "+request.getRequestURI()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;RequestURL : "+request.getRequestURL().toString()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;Scheme : "+request.getScheme()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;ServerName : "+request.getServerName()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;ServerPort : "+request.getServerPort()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;ServletPath : "+request.getServletPath()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;hashCode : "+request.hashCode()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;isRequestedSessionIdFromCookie : "+request.isRequestedSessionIdFromCookie()+"<br>");
      //out.println("&nbsp;&nbsp;&nbsp;RequestedSessionIdFromUrl : "+request.isRequestedSessionIdFromUrl()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;isRequestedSessionIdFromURL : "+request.isRequestedSessionIdFromURL()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;isRequestedSessionIdValid : "+request.isRequestedSessionIdValid()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;isSecure : "+request.isSecure()+"<br>");
      out.println("&nbsp;&nbsp;&nbsp;toString : "+request.toString()+"<br>");
      

  5.   

    request.getRequestURI() + "?" + request.getQueryString();
    这样就可以了。
      

  6.   

    request.getRequestURI() + "?" + request.getQueryString();这个应该是可以的哟
      

  7.   

    request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() 
    + request.getRequestURI()效果等同与window.location