<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FServlets%2FURL</id>
		<title>Java/Servlets/URL - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FServlets%2FURL"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/URL&amp;action=history"/>
		<updated>2026-04-21T18:51:10Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Servlets/URL&amp;diff=6305&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/URL&amp;diff=6305&amp;oldid=prev"/>
				<updated>2010-06-01T06:11:28Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:11, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Servlets/URL&amp;diff=6304&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/URL&amp;diff=6304&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Get Base Url for servlet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
/* &lt;br /&gt;
 * Copyright (C) 2006 Methodhead Software LLC.  All rights reserved.&lt;br /&gt;
 * &lt;br /&gt;
 * This file is part of TransferCM.&lt;br /&gt;
 * &lt;br /&gt;
 * TransferCM is free software; you can redistribute it and/or modify it under the&lt;br /&gt;
 * terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
 * Foundation; either version 2 of the License, or (at your option) any later&lt;br /&gt;
 * version.&lt;br /&gt;
 * &lt;br /&gt;
 * TransferCM is distributed in the hope that it will be useful, but WITHOUT ANY&lt;br /&gt;
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS&lt;br /&gt;
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more&lt;br /&gt;
 * details.&lt;br /&gt;
 * &lt;br /&gt;
 * You should have received a copy of the GNU General Public License along with&lt;br /&gt;
 * TransferCM; if not, write to the Free Software Foundation, Inc., 51 Franklin St,&lt;br /&gt;
 * Fifth Floor, Boston, MA  02110-1301  USA&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
public class ServletUtils {&lt;br /&gt;
  // constructors /////////////////////////////////////////////////////////////&lt;br /&gt;
  // constants ////////////////////////////////////////////////////////////////&lt;br /&gt;
  // classes //////////////////////////////////////////////////////////////////&lt;br /&gt;
  // methods //////////////////////////////////////////////////////////////////&lt;br /&gt;
  /**&lt;br /&gt;
   * NOT UNIT TESTED Returns the URL (including query parameters) minus the scheme, host, and&lt;br /&gt;
   * context path.  This method probably be moved to a more general purpose&lt;br /&gt;
   * class.&lt;br /&gt;
   */&lt;br /&gt;
  public static String getRelativeUrl(&lt;br /&gt;
    HttpServletRequest request ) {&lt;br /&gt;
    String baseUrl = null;&lt;br /&gt;
    if ( ( request.getServerPort() == 80 ) ||&lt;br /&gt;
         ( request.getServerPort() == 443 ) )&lt;br /&gt;
      baseUrl =&lt;br /&gt;
        request.getScheme() + &amp;quot;://&amp;quot; +&lt;br /&gt;
        request.getServerName() +&lt;br /&gt;
        request.getContextPath();&lt;br /&gt;
    else&lt;br /&gt;
      baseUrl =&lt;br /&gt;
        request.getScheme() + &amp;quot;://&amp;quot; +&lt;br /&gt;
        request.getServerName() + &amp;quot;:&amp;quot; + request.getServerPort() +&lt;br /&gt;
        request.getContextPath();&lt;br /&gt;
    StringBuffer buf = request.getRequestURL();&lt;br /&gt;
    if ( request.getQueryString() != null ) {&lt;br /&gt;
      buf.append( &amp;quot;?&amp;quot; );&lt;br /&gt;
      buf.append( request.getQueryString() );&lt;br /&gt;
    }&lt;br /&gt;
    return buf.substring( baseUrl.length() );&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * NOT UNIT TESTED Returns the base url (e.g, &amp;lt;tt&amp;gt;http://myhost:8080/myapp&amp;lt;/tt&amp;gt;) suitable for&lt;br /&gt;
   * using in a base tag or building reliable urls.&lt;br /&gt;
   */&lt;br /&gt;
  public static String getBaseUrl( HttpServletRequest request ) {&lt;br /&gt;
    if ( ( request.getServerPort() == 80 ) ||&lt;br /&gt;
         ( request.getServerPort() == 443 ) )&lt;br /&gt;
      return request.getScheme() + &amp;quot;://&amp;quot; +&lt;br /&gt;
             request.getServerName() +&lt;br /&gt;
             request.getContextPath();&lt;br /&gt;
    else&lt;br /&gt;
      return request.getScheme() + &amp;quot;://&amp;quot; +&lt;br /&gt;
             request.getServerName() + &amp;quot;:&amp;quot; + request.getServerPort() +&lt;br /&gt;
             request.getContextPath();&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns the file specified by &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; as returned by&lt;br /&gt;
   * &amp;lt;tt&amp;gt;ServletContext.getRealPath()&amp;lt;/tt&amp;gt;.&lt;br /&gt;
   */&lt;br /&gt;
  public static File getRealFile(&lt;br /&gt;
    HttpServletRequest request,&lt;br /&gt;
    String path ) {&lt;br /&gt;
    return&lt;br /&gt;
      new File( request.getSession().getServletContext().getRealPath( path ) );&lt;br /&gt;
  }&lt;br /&gt;
  // properties ///////////////////////////////////////////////////////////////&lt;br /&gt;
  // attributes ///////////////////////////////////////////////////////////////&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get Relative Url for servlet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
/* &lt;br /&gt;
 * Copyright (C) 2006 Methodhead Software LLC.  All rights reserved.&lt;br /&gt;
 * &lt;br /&gt;
 * This file is part of TransferCM.&lt;br /&gt;
 * &lt;br /&gt;
 * TransferCM is free software; you can redistribute it and/or modify it under the&lt;br /&gt;
 * terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
 * Foundation; either version 2 of the License, or (at your option) any later&lt;br /&gt;
 * version.&lt;br /&gt;
 * &lt;br /&gt;
 * TransferCM is distributed in the hope that it will be useful, but WITHOUT ANY&lt;br /&gt;
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS&lt;br /&gt;
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more&lt;br /&gt;
 * details.&lt;br /&gt;
 * &lt;br /&gt;
 * You should have received a copy of the GNU General Public License along with&lt;br /&gt;
 * TransferCM; if not, write to the Free Software Foundation, Inc., 51 Franklin St,&lt;br /&gt;
 * Fifth Floor, Boston, MA  02110-1301  USA&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
public class ServletUtils {&lt;br /&gt;
  // constructors /////////////////////////////////////////////////////////////&lt;br /&gt;
  // constants ////////////////////////////////////////////////////////////////&lt;br /&gt;
  // classes //////////////////////////////////////////////////////////////////&lt;br /&gt;
  // methods //////////////////////////////////////////////////////////////////&lt;br /&gt;
  /**&lt;br /&gt;
   * NOT UNIT TESTED Returns the URL (including query parameters) minus the scheme, host, and&lt;br /&gt;
   * context path.  This method probably be moved to a more general purpose&lt;br /&gt;
   * class.&lt;br /&gt;
   */&lt;br /&gt;
  public static String getRelativeUrl(&lt;br /&gt;
    HttpServletRequest request ) {&lt;br /&gt;
    String baseUrl = null;&lt;br /&gt;
    if ( ( request.getServerPort() == 80 ) ||&lt;br /&gt;
         ( request.getServerPort() == 443 ) )&lt;br /&gt;
      baseUrl =&lt;br /&gt;
        request.getScheme() + &amp;quot;://&amp;quot; +&lt;br /&gt;
        request.getServerName() +&lt;br /&gt;
        request.getContextPath();&lt;br /&gt;
    else&lt;br /&gt;
      baseUrl =&lt;br /&gt;
        request.getScheme() + &amp;quot;://&amp;quot; +&lt;br /&gt;
        request.getServerName() + &amp;quot;:&amp;quot; + request.getServerPort() +&lt;br /&gt;
        request.getContextPath();&lt;br /&gt;
    StringBuffer buf = request.getRequestURL();&lt;br /&gt;
    if ( request.getQueryString() != null ) {&lt;br /&gt;
      buf.append( &amp;quot;?&amp;quot; );&lt;br /&gt;
      buf.append( request.getQueryString() );&lt;br /&gt;
    }&lt;br /&gt;
    return buf.substring( baseUrl.length() );&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * NOT UNIT TESTED Returns the base url (e.g, &amp;lt;tt&amp;gt;http://myhost:8080/myapp&amp;lt;/tt&amp;gt;) suitable for&lt;br /&gt;
   * using in a base tag or building reliable urls.&lt;br /&gt;
   */&lt;br /&gt;
  public static String getBaseUrl( HttpServletRequest request ) {&lt;br /&gt;
    if ( ( request.getServerPort() == 80 ) ||&lt;br /&gt;
         ( request.getServerPort() == 443 ) )&lt;br /&gt;
      return request.getScheme() + &amp;quot;://&amp;quot; +&lt;br /&gt;
             request.getServerName() +&lt;br /&gt;
             request.getContextPath();&lt;br /&gt;
    else&lt;br /&gt;
      return request.getScheme() + &amp;quot;://&amp;quot; +&lt;br /&gt;
             request.getServerName() + &amp;quot;:&amp;quot; + request.getServerPort() +&lt;br /&gt;
             request.getContextPath();&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns the file specified by &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; as returned by&lt;br /&gt;
   * &amp;lt;tt&amp;gt;ServletContext.getRealPath()&amp;lt;/tt&amp;gt;.&lt;br /&gt;
   */&lt;br /&gt;
  public static File getRealFile(&lt;br /&gt;
    HttpServletRequest request,&lt;br /&gt;
    String path ) {&lt;br /&gt;
    return&lt;br /&gt;
      new File( request.getSession().getServletContext().getRealPath( path ) );&lt;br /&gt;
  }&lt;br /&gt;
  // properties ///////////////////////////////////////////////////////////////&lt;br /&gt;
  // attributes ///////////////////////////////////////////////////////////////&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Servlet: URL redirect ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import javax.servlet.ServletException;&lt;br /&gt;
import javax.servlet.http.HttpServlet;&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
public class UrlRedirect extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
      throws ServletException, java.io.IOException {&lt;br /&gt;
        String contextPath= &amp;quot;http://www.jexp.ru&amp;quot;;&lt;br /&gt;
    response.sendRedirect(response.encodeRedirectURL(contextPath + &amp;quot;/maps&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Servlet: URL rewrite ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import javax.servlet.ServletException;&lt;br /&gt;
import javax.servlet.http.HttpServlet;&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
public class UrlRewrite extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
      throws ServletException, java.io.IOException {&lt;br /&gt;
    response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    java.io.PrintWriter out = response.getWriter();&lt;br /&gt;
    String contextPath = request.getContextPath();&lt;br /&gt;
    String encodedUrl = response.encodeURL(contextPath + &amp;quot;/default.jsp&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;title&amp;gt;URL Rewriter&amp;lt;/title&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;h1&amp;gt;This page will use URL rewriting if necessary&amp;lt;/h2&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Go to the default.jsp page .&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
      throws ServletException, java.io.IOException {&lt;br /&gt;
    doGet(request, response);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>