-
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
相关推荐
- **应用场景**:此方法常用于记录日志或进行URL重写等操作。 - **示例**:在前面的例子中,执行`System.out.println(request.getRequestURI())`将打印出`/news/main/list.jsp`。 ##### 4. getRealPath() - **定义...
在Java Web开发中,URL重写是一种常见的技术,它能够帮助我们优化应用程序的用户体验和搜索引擎优化(SEO)。URL重写的主要目的是将复杂的、带有多个参数的URL转化为更加友好、易于理解的形式。这样的URL更容易被...
URL重写常用于实现友好的URL结构,提升用户体验,而Filter则是JavaWeb中的一种拦截机制,可以对请求进行预处理或后处理。本篇将详细讲解如何在JavaWeb中使用`Forward`方式实现URL重写,并确保内部转发时,Filter能够...
2. 获取请求URL:`request.getRequestURI()`。 3. 获取请求参数:`request.getParameter(String name)`,返回指定参数的值;`request.getParameterValues(String name)`,返回指定参数的所有值(如果参数有多个值)...
在Java Server Pages (JSP) 技术中,经常需要获取当前页面所在的上下文路径(context path)以及基础路径(base path),这对于实现资源定位、URL重写等功能非常重要。下面我们将详细介绍如何通过 JSP 获取这些路径。 #...
在Java环境中,我们可以利用Servlet Filter或Apache Tomcat等服务器的Rewrite Valve来实现URL重写,从而达到伪静态的效果。下面是一个使用Filter的例子: ```java import javax.servlet.*; import javax.servlet....
- 使用`request.getRequestURI()`在Servlet中获取请求URI。 4. **JSTL条件标签**:`<c:if>`标签的`test`属性不应有空格,例如`${2>1}">123</c:if>`。 5. **文件上传**:在Servlet中处理文件上传,必须使用HTTP的...
String requestURI = request.getRequestURI(); log.info("被拦截的请求有:{}", requestURI); // 通过session,拿到用户登录信息 HttpSession session = request.getSession(); final Object userObj = ...
String requestUri = request.getRequestURI(); for (String url : excludedUrls) { if (requestUri.endsWith(url)) { return true; } } String url = requestUri.substring(request.getContextPath().length...
总结起来,JSP中的过滤器是一个强大的工具,可以用来实现诸如用户认证、URL重写、字符编码转换等任务。理解如何创建和配置过滤器是每个Java Web开发者必备的技能。通过上述的`LoginCheckFilter`示例,我们可以看到...
System.out.println("请求URL:" + request.getRequestURI()); System.out.println("响应状态码:" + response.getStatus()); } ``` 5. 注册拦截器。有两种方式: - 在`WebMvcConfigurerAdapter`的子类中重写`...
String url = request.getRequestURI(); url = url.substring(url.lastIndexOf("/") + 1); Users user = (Users) request.getSession().getAttribute("user"); if (!"loginServlet.action".equals(url)) { if ...
在Struts2框架中,可以通过重写`ActionServlet`类的`service`方法来处理乱码问题。示例如下: ```java public class ActionServlet extends org.apache.struts.action.ActionServlet { private static final long ...
URL重写** - **作用**: 在URL中传递会话ID。 - **使用方法**: ```java String url = request.getRequestURI() + "?" + request.getQueryString(); ``` #### 跳转方式 **内部跳转** - **特点**: 使用`...
在Java和Struts2框架中,获取服务器地址是常见的需求,尤其在处理URL重写、页面跳转或者日志记录时。以下详细说明了如何在Struts2中获取服务器地址。 首先,Struts2框架是基于Java Servlet API的,因此我们可以直接...
- session对象与URL重写:使用`request.isRequestedSessionIdValid()`验证会话ID有效性。 - session对象的常用方法:例如,`session.setAttribute("username", "John Doe")`设置属性。 - 计数器:通过session对象...
该类实现了`javax.servlet.Filter`接口,并重写了其中的三个方法:`doFilter()`、`init()`和`destroy()`。 - **doFilter()**:这是过滤器的核心方法,用于执行具体的过滤逻辑。 - **init()**:该方法在Web容器启动...
context.log("Request to " + req.getRequestURI() + ": " + (after - before)); } } ``` #### 配置过滤器 为了让上面的日志过滤器生效,我们需要在`web.xml`文件中进行配置。例如,在Tomcat服务器中配置的方式...
- **session对象与URL重写**:如果禁用了cookie,可以使用URL重写保持会话状态。 - **session对象的常用方法**:`session.setAttribute("name", "value")`和`session.getAttribute("name")`。 - **计数器**:使用...
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" /> <mapper resource="com/yihaomen/mybatis/model/User.xml"/> 3. 建立与数据库对应的 java class,以及映射文件. 在src_...