web的绝对路径和相对路径

测试环境:tomcat 和struts框架


jsp文件不需要加:

<%--<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

html和jsp的相对路径都为http://127.0.0.1:8080/dem/

以下两个文件的访问效果相同


html文件

<!DOCTYPE html>
<html>
  <head>
    <title>test.html</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  
  <body>
    This is my HTML page. <br>
    <a href="user.do?flags=urls" target="_blank">urls</a>
  </body>
</html>


jsp文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%--<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

--%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <%--<base href="<%=basePath%>">
    
    --%><title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    This is my JSP page. <br>
    <a href="user.do?flags=urls" target="_blank">urls</a>
  </body>
</html>


注意:在src下的文件,在发布之后会保存在:当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/")+WEB-INF\classes下面

 JSP中获得当前应用的相对路径和绝对路径
 根目录所对应的绝对路径:request.getRequestURI()
 文件的绝对路径     :application.getRealPath(request.getRequestURI());
 当前web应用的绝对路径 :application.getRealPath("/");
 取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()

 Servlet中获得当前应用的相对路径和绝对路径
 根目录所对应的绝对路径:request.getServletPath();
 文件的绝对路径    :request.getSession().getServletContext().getRealPath
(request.getRequestURI())   
 当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
     (ServletContext对象获得几种方式:
       javax.servlet.http.HttpSession.getServletContext() 
       javax.servlet.jsp.PageContext.getServletContext() 
       javax.servlet.ServletConfig.getServletContext() 
     )


	public ActionForward urls(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
		System.out.println("*******urls***************");
		System.out.println("URL:"+request.getRequestURL());
		System.out.println("绝对路径:"+request.getRequestURI());
		System.out.println("文件的绝对路径"+request.getSession().getServletContext().getRealPath(request.getRequestURI()));
		System.out.println("web的绝对路径"+request.getSession().getServletContext().getRealPath("/"));
		return mapping.findForward("sucess");
	}



*******urls***************
URL:http://172.19.50.44:8080/dem/user.do
绝对路径:/dem/user.do
文件的绝对路径F:\program\workspace\.metadata\.me_tcat\webapps\dem\dem\user.do
web的绝对路径F:\program\workspace\.metadata\.me_tcat\webapps\dem\







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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值