zoukankan      html  css  js  c++  java
  • Java web中的路径问题

    jsp页面作以下测试

    <%
        System.out.println("getContextPath():"+request.getContextPath());
        System.out.println("getServletPath():"+request.getServletPath());
        System.out.println("getRequestURI():"+request.getRequestURI());
        System.out.println("getRequestURL():"+request.getRequestURL());
        System.out.println("getRealPath("/")"+request.getRealPath("/"));
        System.out.println("getServerName():"+request.getServerName());
        System.out.println("getServerPort():"+request.getServerPort());
        System.out.println("getScheme():"+request.getScheme());
    %>

    结果为

    getContextPath():/website
    getServletPath():/jsp/test.jsp
    getRequestURI():/website/jsp/test.jsp
    getRequestURL():http://localhost:8080/website/jsp/test.jsp
    getRealPath("/")E:eclipseapache-tomcat-9.0.22-windows-x64apache-tomcat-9.0.22webappswebsite
    getServerName():localhost
    getServerPort():8080
    getScheme():http

    应用

    在jsp和servlet的转发过程中常常会出现文件路径错误。

    如果设为相对URL,则在转发过程中可能出现文件路径错误。

    如果设为绝对URL,在作开发时,主机是localhost,而运行时是服务器IP或域名,修改复杂。

    因此选用动态的URL,由Java路径函数来读取此时请求协议名,主机名,端口号,和网站程序项目名,将其设置为jsp的base属性,在jsp页面内的其它文件直接使用相对于网站根目录的路径。

    <%
    String basePath=request.getScheme()+"://"+request.getServerName()+":"+
    request.getServerPort()+request.getContextPath()+"/";
    %>
    <base href="${pageScope.basePath}">
  • 相关阅读:
    认知实习(杭钢、杭州中萃)
    Head of a Gang (map+邻接表+DFS)
    Sharing
    Hello World for U (20)
    计算器(delphi)
    CentOS 下 Codeblocks 的 安装 + 汉化 以及 基本使用介绍
    关于阿里如何吸引大学生用户理财的一些个人看法
    分页 存储过程
    点击退出,并未直接跳转到登陆界面,登录界面还停留在框架集界面
    梦幻之旅--地图编辑器开发
  • 原文地址:https://www.cnblogs.com/blunFan/p/11641446.html
Copyright © 2011-2022 走看看