0 0

url重写后 request.getRequestURI的问题0

各位哥问一下,项目url进行了重写,比如/ss_aa!bb.action 重写成了/ss_aa/bb.htm 现在有个验证是否登录的拦截器,如果没有登录就跳到登录页面,同时戴上fromURL,但是现在问题来了,这个拦截是获取这个fromURL是通过request.getRequestURI()获取的,这个获取到的是真实的访问地址,也就是/ss_aa!bb.action,而不是/ss_aa/bb.htm,这就到导致了我在浏览器中输入/ss_aa/bb.htm访问,需要登录,于是跳到登录页面,这个进入到登录页面的地址就变成了:

http://localhost:8080/myproject/login.htm?fromURL=(url编码后的地址)/ss_aa!bb.action,请问这种情况怎么处理,怎么让拦截器获取到的请求地址还是我重写过后的url而不是真实的url呢?
2013年7月26日 17:47

1个答案 按时间排序 按投票排序

0 0

重写的时候可以在后面加个标示吗?例如多加个参数?获取的时候有这个参数这说明是转义过的,
不知道符不符合你的要求

2013年7月26日 18:20

相关推荐

    Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别.doc

    - **应用场景**:此方法常用于记录日志或进行URL重写等操作。 - **示例**:在前面的例子中,执行`System.out.println(request.getRequestURI())`将打印出`/news/main/list.jsp`。 ##### 4. getRealPath() - **定义...

    Java WEB实现URL重写

    在Java Web开发中,URL重写是一种常见的技术,它能够帮助我们优化应用程序的用户体验和搜索引擎优化(SEO)。URL重写的主要目的是将复杂的、带有多个参数的URL转化为更加友好、易于理解的形式。这样的URL更容易被...

    JavaWeb中URL重写用Forward方式并使其后filter可以拦截内部转发

    URL重写常用于实现友好的URL结构,提升用户体验,而Filter则是JavaWeb中的一种拦截机制,可以对请求进行预处理或后处理。本篇将详细讲解如何在JavaWeb中使用`Forward`方式实现URL重写,并确保内部转发时,Filter能够...

    reqresp_demo5.zip

    2. 获取请求URL:`request.getRequestURI()`。 3. 获取请求参数:`request.getParameter(String name)`,返回指定参数的值;`request.getParameterValues(String name)`,返回指定参数的所有值(如果参数有多个值)...

    jsp中获取地址的写法

    在Java Server Pages (JSP) 技术中,经常需要获取当前页面所在的上下文路径(context path)以及基础路径(base path),这对于实现资源定位、URL重写等功能非常重要。下面我们将详细介绍如何通过 JSP 获取这些路径。 #...

    java/.net伪静态简介加例子

    在Java环境中,我们可以利用Servlet Filter或Apache Tomcat等服务器的Rewrite Valve来实现URL重写,从而达到伪静态的效果。下面是一个使用Filter的例子: ```java import javax.servlet.*; import javax.servlet....

    JAVA开发中遇到的问题和异常.doc

    - 使用`request.getRequestURI()`在Servlet中获取请求URI。 4. **JSTL条件标签**:`<c:if>`标签的`test`属性不应有空格,例如`${2>1}">123</c:if>`。 5. **文件上传**:在Servlet中处理文件上传,必须使用HTTP的...

    SSM项目 拦截器(csdn)————程序.pdf

    String requestURI = request.getRequestURI(); log.info("被拦截的请求有:{}", requestURI); // 通过session,拿到用户登录信息 HttpSession session = request.getSession(); final Object userObj = ...

    Spring Controller拦截器配置

    String requestUri = request.getRequestURI(); for (String url : excludedUrls) { if (requestUri.endsWith(url)) { return true; } } String url = requestUri.substring(request.getContextPath().length...

    jsp中过滤器选择过滤器的写法详解.docx

    总结起来,JSP中的过滤器是一个强大的工具,可以用来实现诸如用户认证、URL重写、字符编码转换等任务。理解如何创建和配置过滤器是每个Java Web开发者必备的技能。通过上述的`LoginCheckFilter`示例,我们可以看到...

    SpringBoot中自定义拦截器示例代码

    System.out.println("请求URL:" + request.getRequestURI()); System.out.println("响应状态码:" + response.getStatus()); } ``` 5. 注册拦截器。有两种方式: - 在`WebMvcConfigurerAdapter`的子类中重写`...

    java过滤器

    String url = request.getRequestURI(); url = url.substring(url.lastIndexOf("/") + 1); Users user = (Users) request.getSession().getAttribute("user"); if (!"loginServlet.action".equals(url)) { if ...

    j2ee项目中中文乱码问题集锦

    在Struts2框架中,可以通过重写`ActionServlet`类的`service`方法来处理乱码问题。示例如下: ```java public class ActionServlet extends org.apache.struts.action.ActionServlet { private static final long ...

    jsp基础速成精华讲解

    URL重写** - **作用**: 在URL中传递会话ID。 - **使用方法**: ```java String url = request.getRequestURI() + "?" + request.getQueryString(); ``` #### 跳转方式 **内部跳转** - **特点**: 使用`...

    JAVA+Struts2获取服务器地址的方法

    在Java和Struts2框架中,获取服务器地址是常见的需求,尤其在处理URL重写、页面跳转或者日志记录时。以下详细说明了如何在Struts2中获取服务器地址。 首先,Struts2框架是基于Java Servlet API的,因此我们可以直接...

    JSP教程_免费.pdf

    - session对象与URL重写:使用`request.isRequestedSessionIdValid()`验证会话ID有效性。 - session对象的常用方法:例如,`session.setAttribute("username", "John Doe")`设置属性。 - 计数器:通过session对象...

    过滤器,初始时让用户转到登录页面

    该类实现了`javax.servlet.Filter`接口,并重写了其中的三个方法:`doFilter()`、`init()`和`destroy()`。 - **doFilter()**:这是过滤器的核心方法,用于执行具体的过滤逻辑。 - **init()**:该方法在Web容器启动...

    STRUTS:filter过滤器

    context.log("Request to " + req.getRequestURI() + ": " + (after - before)); } } ``` #### 配置过滤器 为了让上面的日志过滤器生效,我们需要在`web.xml`文件中进行配置。例如,在Tomcat服务器中配置的方式...

    jsp免费教程

    - **session对象与URL重写**:如果禁用了cookie,可以使用URL重写保持会话状态。 - **session对象的常用方法**:`session.setAttribute("name", "value")`和`session.getAttribute("name")`。 - **计数器**:使用...

    springmybatis

    <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" /> <mapper resource="com/yihaomen/mybatis/model/User.xml"/> 3. 建立与数据库对应的 java class,以及映射文件. 在src_...

Global site tag (gtag.js) - Google Analytics