SpringMVC相对路径和绝对路径

这篇具有很好参考价值的文章主要介绍了SpringMVC相对路径和绝对路径。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.相对地址与绝对地址定义

在jsp,html中使用的地址,都是在前端页面中的地址,都是相对地址
地址分类:
	(1),绝对地址,带有协议名称的是绝对地址,http://www.baidu.com
	(2),相对地址,没有协议开头的,例如user/some.do,/user/some.do。相对地址不能独立使用,必须有一个参考地	址。通过参考地址+相对地址本身
	才可以指定资源。

2.访问地址前面加不加 /

2.1 案例展示

web.xml文件代码
	<servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
index.jsp页面代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<a href="web/some.do">发起一个get请求</a>
</body>
</html>

MyController类代码
@Controller
public class MyController {

    @RequestMapping(value={"/web/some.do"})
    public String ReturnModelAndView(){
        return "view.jsp";
    }
}

view.jsp页面代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>view</title>
</head>
<body>
<h1>我是结果页</h1>
</body>
</html>

view.jsp文件的位置

SpringMVC相对路径和绝对路径,SpringMVC,mvc,spring
点击index.jsp页面请求前,地址栏网址为
SpringMVC相对路径和绝对路径,SpringMVC,mvc,spring

	点击后

SpringMVC相对路径和绝对路径,SpringMVC,mvc,spring

结论
当你的访问地址没有以 / 开头,例如web/some.do,当你点击链接之后,访问的地址是当前页面的地址加上链接地址。
http://localhost:8080/springmvc_005_path/  +  web/some.do

3. 访问地址前面加 /

修改index.jsp代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<a href="/web/some.do">发起一个get请求</a>
</body>
</html>
再次启动服务器

SpringMVC相对路径和绝对路径,SpringMVC,mvc,spring

点击请求

SpringMVC相对路径和绝对路径,SpringMVC,mvc,spring

修改index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<a href="${pageContext.request.contextPath}/web/some.do">发起一个get请求</a>
</body>
</html>

再次发起请求

SpringMVC相对路径和绝对路径,SpringMVC,mvc,spring

结论:
不添加 / 时,访问地址参考的地址是  http://localhost:8080 ,然后加上你的访问地址 /web/some.do ,缺少项目名,因此我们
可以添加	${pageContext.request.contextPath}来补全。

4. 使用base标签简化操作同时解决不加 / 可能引起的问题

base标签说明
<base> 标签为页面上的所有的相对链接规定默认 URL 或默认目标。
在一个文档中,最多能使用一个 <base> 元素。<base> 标签必须位于 <head> 元素内部。

代码展示文章来源地址https://www.toymoban.com/news/detail-697912.html

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + request.getContextPath() + "/";
%>
<html>
<head>
    <title>Title</title>
    <base href="<%=basePath%>"/>
</head>
<body>
<%--<a href="${pageContext.request.contextPath}/web/some.do">发起一个get请求</a>--%>
<a href="web/some.do">发起一个get请求</a>
</body>
</html>
结果略,可以正常访问

到了这里,关于SpringMVC相对路径和绝对路径的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python文件读取&导包的绝对路径、相对路径

    😊 作者简介 :大家好我是hellobigorange,大家可以叫我大橙子 📃 个人主页 :hellobigorange的个人主页 📰如果觉得博主的文章还不错的话,请👍三连支持一下博主哦🤞 💖 本文摘要 :本文主要讲述了文件读取的绝对路径和相对路径;导包的绝对路径和相对路径,以及当前工作

    2023年04月08日
    浏览(59)
  • Python基础知识:绝对/相对路径等

    由于本人在导入数据时,十分喜欢相对路径(在数据的上一级文件中,新建文件夹保存处理整个代码处理过程),因此,将首先简单介绍下Python中相对/绝对路径的处理。 一个文件的真实位置,根据这个路径层级可以找到这个文件即 绝对路径 。 在Python中使用绝对路径读取文

    2023年04月27日
    浏览(49)
  • Python:pycharm中读取文件的相对路径和绝对路径

    要读取如图所示文件的相对路径: 方法1:直接根据文件路径手动读取 D:PycharmProjectspythonProjecttorch_learningtest_path.py 方法2:os.path.abspath(path)获取 比如我想从左图文件”test_path“访问右图\\\"0013035.jpg\\\"文件,采用相对路径: 1.获取当前文件的绝对路径:D:PycharmProjectspythonProjectt

    2024年02月06日
    浏览(47)
  • 路径的写法 绝对路径的含义: 相对路径与路径跳转 相对路径的跨文件跳转、返回跳转 跨文件跳转

    提示:以下是本篇文章正文内容,下面案例可供参考 站内资源和站外资源 站内资源:当前网站的资源 站外资源:非当前网站的资源 绝时路径和相对路径 站外资源:绝对路径 绝对路径是完整的网站链接 站内资源:相对路径 绝对路径的含义: url地址: 协议名://主机名:端口号/路径

    2024年02月01日
    浏览(65)
  • [Bug 记录] Pycharm 无法导入 _C,相对、绝对路径都报错

      在Pychram中调代码的时候,发现有的包必须在python3.8以上版本上才能使用,于是重新配置python3.9的环境。结果出事了,之前还能运行的代码怎么都运行不了,编译的库成功了,就是 from xx import _C 一直报错。最后试出来还有就是相对路径也报错,根据这点发现问题。   首

    2024年02月16日
    浏览(49)
  • VScode中python的相对路径与绝对路径 FileNotFoundError: [Errno 2] No such file or directory

    VScode中,python里的相对路径是相对于当前工作目录来定位的,而当前的工作目录在VScode中下方的终端窗口会有提示: 说明此时的工作目录并非当前python文件所在的目录,而是C:Usersxxxxx(你的用户名)。因此,使用VScode编辑和运行python文件时,如果你给出的相对路径是相对于当

    2024年02月15日
    浏览(46)
  • Spring Mvc:初识SpringMvc

    编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 SpringMvc版本:5.3.1 ①SpringMVC是Spring的一种 子框架 ,它是Spring为【 展现层 | 表示层 | 表述层 | 控制层 】提供的 基于MVC设计理念 的优秀的Web框架,是目前最主流的MVC框架。

    2024年02月13日
    浏览(54)
  • Spring MVC 之MVC 体系结构、什么是SpringMVC

    三层架构 我们的开发架构⼀般都是基于两种形式,⼀种是 C/S 架构,也就是客户端/服务器;另⼀种是 B/S 架构,也就是浏览器服务器。在 JavaEE 开发中,⼏乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层。 三层架构中,每

    2024年02月09日
    浏览(51)
  • 【SpringMVC】Spring Web MVC入门(一)

    前面我们了解了什么是Spring,那么今天我将为大家分享一种在日常网站开发中使用非常广泛的框架——Spring Web MVC。 先来看看官方解释。 Spring Web MVC是Spring Framework提供的Web组件,它是一个MVC设计模式的框架,主要用于开发灵活、松散耦合的Web应用程序。它提供了模型-视图-控

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包