jsp:

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

%>
<!DOCTYPE html>
<html>
<head>

<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="<%=basePath%>/css/mycss/login_css.css" rel="stylesheet" type="text/css" />

</head>

js:

方法一

function getRealPath(){

  //获取当前网址,如: http://localhost:8083/myproj/view/my.jsp

  var curWwwPath=window.document.location.href;

  //获取主机地址之后的目录,如: myproj/view/my.jsp

  var pathName=window.document.location.pathname;

  var pos=curWwwPath.indexOf(pathName);

  //获取主机地址,如: http://localhost:8083

  var localhostPaht=curWwwPath.substring(0,pos);

  //获取带"/"的项目名,如:/myproj

  var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);

  //得到了 http://localhost:8083/myproj

  var realPath=localhostPaht+projectName;

  alert(realPath);

}

方法二:

function getRootPath_dc() {
  var pathName = window.location.pathname.substring(1);
  var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
  if (webName == "") {
    return window.location.protocol + '//' + window.location.host;
  }
  else {
    return window.location.protocol + '//' + window.location.host + '/' + webName;
  }
}

常识补充:

  1. //获取当前窗口的Url
  2. //returnUrl=http://localhost:8080/shopping/buyCart.shtml?skuId=510&amount=1
  3. window.location.href
  4. //获取当前窗口的主机名 例如:http://localhost:8080
  5. window.location.host
  6. //获取当前窗口的端口  例如: 8080
  7. window.location.port
  8. //获取当前窗口的路径 例如: /shopping/buyCart.shtml
  9. window.location.pathname
  10. //获取当前文档的Url
  11. document.URL
  12. //获取参数  例如: ?skuId=510&amount=1
  13. window.location.search
  14. //跳出当前窗口,打开新窗口
  15. window.open(url);
  16. document默示的是一个文档对象,window默示的是一个窗口对象,一个窗口下可以有多个文档对象。
    所以一个窗口下只有一个window.location.href,然则可能有多个document.URL、document.location.href
  17. window.location.href和document.location.href可以被赋值,然后跳转到其它页面,document.URL只能读不克不及写

JavaScript获取当前url根目录(路径)的更多相关文章

  1. javascript 获取当前部署项目路径

    javascript 获取当前部署项目路径 ========================================= javascript获取当前部署项目路径: 主要用到Location 对 ...

  2. Javascript 获取链接(url)参数的方法

    有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...

  3. JavaScript获取当前url路径

    1.假设当前页完整地址是:http://localhost:61768/Home/Index?id=2 //获取当前窗口的Url var url = window.location.href; //结 ...

  4. javascript获取当前url

    在WEB开发中,许多开发者都比较喜欢使用javascript来获取当前url网址,本文就此为大家总结一下比较常用获取URL的javascript实现代码,以下示例是前面为相应实现方法,后面是获取URL ...

  5. javascript获取当前url中的參数

    javascript获取当前页面url中的參数能够使用location的search方法,获取到的是url中?后面的部分,比如http:localhost:8080/Manager/index.jsp ...

  6. javascript 获取当前 URL 参数的两种方法

    window.location.host; //返回url 的主机部分,例如:www.xxx.com window.location.hostname; //返回www.xxx.com window. ...

  7. 使用Javascript获取当前目录的绝对路径

    转自http://heeroluo.net/Article/Detail/101 一谈到路径相关的问题,大家都会往window.location上想,确实这个对象提供了相当多的路径信息,其中常用的就包 ...

  8. 使用javascript取得网站的根路径

    //Javascript获取站点获得根目录绝对路径 function getRootPath() { //完整路径 var strFullPath = window.document.location ...

  9. js 获取当前页url网址信息

    转载地址:js如何准确获取当前页面url网址信息 摘录: 举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1 1.window ...

随机推荐

  1. 使用Template格式化Python字符串

    对Python字符串,除了比较老旧的%,以及用来替换掉%的format,及在python 3.6中加入的f这三种格式化方法以外,还有可以使用Template对象来进行格式化. from string ...

  2. HashMap分析之红黑树树化过程

    概述 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例 ...

  3. 建造者模式(Builder)-宏观的使用角度

    建造者模式(Builder) 建造者模式是用来解决产品对象的创建过程是由多个零件组成的情况,这些零件与产品本身是组合关系,也就是部分与整体,这些零件的创建顺序,还有一些创建中的逻辑,都是稳定的,可以封 ...

  4. 教你用.Net来玩微信跳一跳

    目前开发的所有代码都已经上传到了GitHub.欢迎大家来Star https://github.com/GiantLiu/AutoJump 目前程序分为“全自动版本”和“半自动版本” 全自动版本 We ...

  5. 6年后的第一篇博客:进入java的精彩世界

    10的.NET从业经验,也算资深人士了. 2018开始,正式进入JAVA的世界. 为什么说正式?因为已经附带有几年ANDROID经验了,确切的说,是正式进入JAVA服务器端. 没有任何人要求,纯粹是个 ...

  6. flask-form用户登录与注册

    用户登录 #!/usr/bin/env python # -*- coding:utf- -*- from flask import Flask, render_template, request, ...

  7. COM学习(四)——COM中的数据类型

    上一次说到,COM为了跨语言,有一套完整的规则,只要COM组件按照规则编写,而不同的语言也按照对应的规则调用,那么就可以实现不同语言间相互调用.但是根据那套规则,只能识别接口,并调用没有参数和返回类型 ...

  8. VC++平台上的内存对齐操作

    我们知道当内存的边界正好对齐在相应机器字长边界上时,CPU的执行效率最高,为了保证效率,在VC++平台上内存对齐都是默认打开的,在32位机器上内存对齐的边界为4字节:比如看如下的代码: struct ...

  9. 编写OC高质量的代码的有效方法

    1. 写这个只是为了自己记忆,有相关pdf文件,如需要留下邮箱.. 2. 在类的头文件中尽量少引入其他头文件 除非确有必要,否则不要引入头文件.一般来说,应在某个类的头文件中使用向前声明来提及别的类( ...

  10. 【C#】发票助手二维码生成

    之前一起吃饭听说了发票助手这个东西,可以生成发票抬头的二维码,扫码就可以开票了. 官方也有个小程序的 [税务发票助手],微信中搜这个名字就可以了. 我准备在自己的小程序中也尝试一下,本来觉得只要拼接一 ...