1

我使用.htaccess文件进行 url 重写。要启用 .htaccess 文件,我将urlrewritefilter-4.0.3.jar文件放在 WEB-INF\lib\ 和 web.xml 中,我添加了以下代码。

   <filter>
      <filter-name>UrlRewriteFilter</filter-name>
          <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>

默认为假。使用 mod_rewrite 风格的配置文件(如果这是 true 且未指定 confPath 则 confPath 将设置为 /WEB-INF/.htaccess)

   <init-param>
       <param-name>modRewriteConf</param-name>
       <param-value>true</param-value>
   </init-param>
   </filter>
   <filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
   </filter-mapping>`

我的 .htacces 文件代码是

    RewriteRule ^/()$ index.jsp [NC,L]
    RewriteRule ^/login/?$ login.jsp [NC,L] #Handle requests for "login"
    RewriteRule ^/logout/?$ login.jsp [NC,L] #Handle requests for "login"
    RewriteRule ^/contact_us/?$ contact.jsp [NC,L] #Handle requests for "contactus"
    RewriteRule ^([/A-Za-z0-9_]+)$ user.jsp [NC,L]
    RewriteRule ^([/A-Za-z0-9_]+)/$ user.jsp [NC,L]

我有一个 user.jsp 文件。我使用正则表达式进行 url 映射,这样无论我在 url 中输入什么,它都会打开 user.jsp 文件。我想访问在 user.jsp 文件中输入的实际 url。假设我输入http://localhost:8080/project/abhiramgiri. 我用了

  <%
       String getURL=request.getRequestURI();
       out.print(getURL);
  %>

它显示了http://localhost:8080/project/user.jsp 我实际需要的文件路径http://localhost:8080/project/abhiramgiri。它不显示实际键入的 url。它检索原始路径。请帮我解决这个问题。

4

1 回答 1

0

显示网络浏览器的 URL 是什么?根据您的应用程序,您可以使用 JavaScript 通过 document.URL 获取 URL(请参阅get-current-url-with-javascript)您必须考虑安全性。

于 2013-05-20T21:28:13.843 回答