未来可以改变#@! 2023-03-16 09:32 采纳率: 58.6%
浏览 98
已结题

HttpServletRequest request

img


像这样跳转到真实路径后,怎样让浏览器上的地址栏显示的是虚拟路劲,而不是真实路劲

img

  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-03-16 09:57
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    在Java Web中,可以通过在Servlet中使用请求转发(RequestDispatcher)的方式来实现URL地址的伪装。假设有一个Servlet,可以将实际路径映射为虚拟路径,并将请求转发到相应的目标页面,如下所示:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String realPath = request.getParameter("data-href");
        String virtualPath = request.getParameter("href");
        RequestDispatcher rd = request.getRequestDispatcher(realPath);
        request.setAttribute("virtualPath", virtualPath);
        rd.forward(request, response);
    }
    
    
    

    在转发请求之前,可以将虚拟路径设置为请求属性,然后在目标页面中使用该属性来构造相应的URL。例如,在目标JSP页面中可以使用以下代码来构造虚拟路径:

    <a href="<%=request.getAttribute("virtualPath")%>">a标签</a>
    
    
    

    在这个例子中,getAttribute方法用于获取请求属性,从而获取虚拟路径。这样,即使在地址栏中看到的是真实路径,但是用户点击链接后仍然可以访问到对应的虚拟路径。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月17日
  • 修改了问题 3月16日
  • 修改了问题 3月16日
  • 修改了问题 3月16日
  • 展开全部

悬赏问题

  • ¥15 网站设计与开发职业技能大赛试题
  • ¥20 在使用CESM2.2.0模型进行case.submit过程中出现如下错误(关键词-Map)
  • ¥15 有办法改变通过wifi进入的网站的设置吗
  • ¥15 所以到底怎么算!算到凌晨五点都算不出来!
  • ¥15 label_studio
  • ¥15 请教如何phython发邮件
  • ¥15 linux系统安装问题
  • ¥15 路径规划如何采用矢量法让他们尽量在一个方向
  • ¥15 crypto 一道rsa解密题
  • ¥15 survIDINRI已将生存时间转为数值变量,仍错误 Time variable is not numeric。