javaWEB总结(24):相对路径和绝对路径
来源:互联网 发布:云之家软件 编辑:程序博客网 时间:2024/05/07 00:11
相对路径
项目结构1
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>javaWeb_24</display-name> <welcome-file-list> <welcome-file>a.jsp</welcome-file> </welcome-file-list></web-app>
a.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>A.jsp</title></head><body><!-- 相对路径,当前目录下的path下的b.jsp --><a href="./path/b.jsp">To B.jsp</a></body></html>
b.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>B.jsp</title></head><body><!-- 相对路径,当前目录下的c.jsp --><a href="./c.jsp">To C.jsp</a></body></html>
c.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>C.jsp</title></head><body><!-- 相对路径,上层目录下的b.jsp --><a href="../a.jsp">to A.jsp</a></body></html>
运行结果1
有时候我们需要显示一些数据,可能会通过转发的方式到另外一个页面。
项目结构2
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>javaWeb_24</display-name> <welcome-file-list> <welcome-file>a.jsp</welcome-file> </welcome-file-list></web-app>
a.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>A.jsp</title></head><body><a href="toBServlet">To B.jsp</a></body></html>
b.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>B.jsp</title></head><body>cities:<%=request.getAttribute("cities") %><br><br><!-- 相对路径,当前目录下的c.jsp --><a href="./c.jsp">To C.jsp</a></body></html>
c.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>C.jsp</title></head><body><!-- 相对路径,上层目录下的b.jsp --><a href="../a.jsp">to A.jsp</a></body></html>
ToBServlet.java
package com.dao.chu;import java.io.IOException;import java.util.Arrays;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class ToBServlet */@WebServlet("/toBServlet")public class ToBServlet extends HttpServlet {private static final long serialVersionUID = 1L; /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {List<String> cities =Arrays.asList("北京","上海","广州","深圳");request.setAttribute("cities", cities);request.getRequestDispatcher("/path/b.jsp").forward(request, response);}}
运行结果2
点击 To B.jsp后,地址栏中http://localhost:8080/javaWeb_24/toBServlet 为跟路径下,所以点击To C.jsp会默认以跟路径为相对路径http://localhost:8080/javaWeb_24/c.jsp,这样便出现了问题。
绝对路径
javaWeb中什么是绝对路径?
相对于当前web应用的跟路径。此处为:http://localhost:8080/javaWeb_24/。即任何的路径都必须戴上contextPath.
注意:http://localhost:8080/此路径为WEB站点的跟路径。
如何完成编写?
若/代表的是当前WEB站点的跟路径,则在其前面加上contextPath就可以。
而contextpath可以由request或application的getContextPath()方法来获取。
javaweb开发中的"/“代表什么?
①当前WEB应用的跟路径:
1.请求转发时request.getRequestDispatcher("/path/b.jsp").forward(request, response);
2.web.xml文件中映射servlet访问路径
3.各种标签中的/
②WEB站点的跟路径:
1.超链接.
2.表单中的action.
3.请求重定向时,response.sendRedirect.
总结:若"/“需交由Servlet容器来处理,则代表当前WEB应用的跟路径。若"/”交由游览器来处理,则代表当前WEB站点的跟路径。
所以只需在三个超链接加上<%=request.getContextPath() %>即可。
a.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>A.jsp</title></head><body><a href="<%=request.getContextPath() %>/toBServlet">To B.jsp</a></body></html>
b.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>B.jsp</title></head><body>cities:<%=request.getAttribute("cities") %><br><br><!-- 相对路径,当前目录下的c.jsp --><a href="<%=request.getContextPath() %>/path/c.jsp">To C.jsp</a></body></html>
c.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>C.jsp</title></head><body><!-- 相对路径,上层目录下的b.jsp --><a href="<%=request.getContextPath() %>/a.jsp">to A.jsp</a></body></html>
修改后,运行结果正常- javaWEB总结(24):相对路径和绝对路径
- Javaweb中相对路径,绝对路径问题总结
- 绝对路径和相对路径总结
- 绝对路径和相对路径总结
- javaweb中的绝对路径和相对路径
- JavaWeb中的绝对路径和相对路径问题
- JavaWeb中的绝对路径和相对路径
- ---javaWeb中的相对路径和绝对路径
- JavaWeb中的相对路径和绝对路径
- Javaweb 绝对路径和相对路径-巧理解
- JavaWeb开发中的路径问题:绝对路径和相对路径
- JavaWeb 05 Web应用路径问题【绝对路径和相对路径】
- java相对路径和绝对路径总结
- 相对路径和绝对路径的总结
- JavaWeb 项目中的绝对路径和相对路径问题
- Javaweb中的绝对路径和相对路径(简单易懂)
- 相对路径和绝对路径
- 绝对路径和相对路径
- 算法设计与应用基础作业(一)
- 【Java】JDK的环境变量配置
- 逻辑地址、虚拟地址、线性地址、物理地址
- 使用安卓自带刷新控件实现ListView的上拉加载和下拉刷新
- 【Oracle学习】之 表空间
- javaWEB总结(24):相对路径和绝对路径
- React之组件
- CentOS安装monitorix
- 限制不能打开同名程序
- 百度地图自定义大头针图片和添加标注
- Spring MVC 自定义Validator
- Vue2.0简易案例
- react知识点
- 蓝桥杯进制转换JAVA