韩顺平-(javaweb2022-Web路径专题)笔记

Web路径专题+会话

怎样解决访问URL路径过于复杂的问题?

在配置Tomcat的Artifact时

image-20230902161229555

注意这个Application context 路径应该改成 / 根路径下访问,也可以带工程名

相对路径访问问题:

注:使用相对路径来解决,规则是页面所有的相对路径,在默认情况下,都会参考当前浏览器地址栏的路径http://ip:port/Application context/+资源来进行跳转,

相对路径,路径回溯问题

image-20230902225421613


解决相对路径的问题:

base标签-HTML语言中基准网址标记,单标签,位于网页头部文件的head标签内

base标签注意事项

一个页面只能使用一个base元素,用来提供一个指定的默认目标,是一种表达路径和连接网址的标记。

base标签使用

如果base标签指定了目标,浏览器通过目标来解析当前文档中所有的相对路径。

作用:base给提供相对路径->组合为绝对路径

例子:注意下面代码:base标签代码最后必须需要/

因为在具体跳转时如果为,/会被浏览器解析为 http://ip:port/导致404系统找不到文件

<base href="http://localhost:8080/WebPath/">
<a href="login.html">

示例:使用当前浏览器的地址栏进行表单提交转发

<!--使用当前浏览器的地址栏**http://ip:port/Application context/**-->
  <form action="views/user/user.html" method="post">

image-20230903000329864

在request.getRequestDispatcher请求转发**(使用servlet转发)**

其中**/** 会被服务器解析为工程路径 : http://ip:port/Application context/

    request.getRequestDispatcher("/login.html").forward(request,response);



javaWeb中路径最后 带/ 和 不带/ 区别

示例:

<a href = "/a/servlet03">网址</a> ;servlet03表示资源
<a href = "/a/servlet03/">网址</a> ;servlet03表示路径

getRealPath

servletContext.getRealPath(“/”);==>得到的是执行路径

image-20230903115406378

contextPath 是配置的 Application context


重定向

重定向response.sendRediect(“/”);这条语句虽然在服务器端执行,但是服务器把 / 发送给浏览器进行解析.

因此得到地址 http://ip:port/

image-20230903143723180


base标签Web路径优化

使用jsp技术动态获取 Application Context

<base href="<%= request.getContextPath()%>">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值