Web应用中request获取各种获取path或URI,URL的方法

Web应用中有各种获取path或URI,URL的方法,假设网页访问地址:

http://localhost:8080/tradeload/TestServlet

Web应用context: /tradeload

各路径鉴定如下:

request.getContextPath()= /tradeload 
request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()= http://localhost:8080 
request.getRequestURL() = http://localhost:8080/tradeload/TestServlet 
request.getRequestURI() = /tradeload/TestServlet 
request.getPathInfo() = null 
request.getServletPath() = /TestServlet 
getServletContext().getRealPath('/') = C:\server\glassfish\domains\domain1\applications\j2ee-modules\tradeload\ 

 
其中的servletpath就是web.xml中配置的url-pattern。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现自定义 JSP 无需 token,可以在 Tomcat 的配置文件添加一个过滤器,该过滤器将检查请求的 URL,如果请求的是自定义 JSP,则不需要 token,否则需要 token。 以下是一个简单的示例过滤器实现: 1. 创建一个名为 `TokenFilter` 的 Java 类,实现 `javax.servlet.Filter` 接口。 ```java import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class TokenFilter implements Filter { private static final String[] IGNORED_PATHS = {"/custom.jsp"}; @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; String requestURI = request.getRequestURI(); boolean ignored = false; for (String path : IGNORED_PATHS) { if (requestURI.endsWith(path)) { ignored = true; break; } } if (ignored) { filterChain.doFilter(request, response); } else { // 检查 token 是否存在,如果存在则放行,否则重定向到登录页面 String token = request.getParameter("token"); if (token != null && !token.isEmpty()) { filterChain.doFilter(request, response); } else { response.sendRedirect("/login.jsp"); } } } @Override public void destroy() { } } ``` 2. 在 Tomcat 的 `web.xml` 文件添加过滤器和过滤器映射。 ```xml <filter> <filter-name>TokenFilter</filter-name> <filter-class>com.example.TokenFilter</filter-class> </filter> <filter-mapping> <filter-name>TokenFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 在上面的示例,`IGNORED_PATHS` 数组包含了所有不需要 token 的 URL,例如 `/custom.jsp`。当请求的 URL 不在忽略列表时,过滤器会检查请求参数是否包含名为 `token` 的参数,如果存在则放行,否则重定向到登录页面。 请注意,这只是一个简单的示例过滤器实现,实际情况可能需要根据具体的业务逻辑进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值