一、 获取此次请求的URL

String requestUrl = request.getScheme() //当前链接使用的协议
        +"://" + request.getServerName()//服务器地址  
        + ":" + request.getServerPort() //端口号  
        + request.getContextPath() //应用名称,如果应用名称为
        + request.getServletPath() //请求的相对url  
        + "?" + request.getQueryString(); //请求参数
http://127.0.0.1:8080/world/index.jsp?name=lilei&sex=1
<Context path="world" docBase="/home/webapps" debug="0" reloadable="true"/>
request.getScheme() = "http";
request.getServerName() = "127.0.0.1";
request.getServerPort() = "8080";
request.getContextPath() = "world";
request.getServletPath() = "index.jsp";
request.getQueryString() = "name=lilei&sex=1";
http://127.0.0.1:8080/world/index.jsp?name=lilei&sex=1
<Context path="" docBase="/home/webapps" debug="0" reloadable="true"/>
request.getScheme() = "http";
request.getServerName() = "127.0.0.1";
request.getServerPort() = "8080";
request.getContextPath() = "";
request.getServletPath() = "world/index.jsp";
request.getQueryString() = "name=lilei&sex=1";

二、获取服务器根路径

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

使用如下:

< link rel = "stylesheet" type = "text/css" href = "<%=basePath%>static/css/framework/themes/default/easyui.css" > < link rel = "stylesheet" type = "text/css" href = "<%=basePath%>static/css/framework/themes/icon.css" > < link rel = "stylesheet" type = "text/css" href = "<%=basePath%>static/css/base.css" > < script src = "<%=basePath%>static/javascript/framework/jquery.min.js" > </ script > < script src = "<%=basePath%>static/javascript/framework/jquery.easyui.min.js" > </ script > < script src = "<%=basePath%>static/javascript/framework/easyui-lang-zh_CN.js" > </ script > < script src = "<%=basePath%>static/javascript/framework/easyui-util.js" > </ script > </ head > 方法: open与send open(method, url , asynch) :建立对 服务器 的调用 (method 表示 请求 方式, url 请求 路径 , asynch 是否异步,对于 asynch 的值通常不会设置, 默认是true,表示异步发送 请求 ) send(content) :向 服务器 发送 请求 onreadystatechange :状态回调函数 responseText/responseXML : 服务器 的响应字符串 status: 服务器 返回的HTTP状态码 statusText: 服务器 返回的HTTP状态信息 readyState :对象状态(0-4) 0 = 未初始化 1 = 正在加载 2 = 已加载 3 = 交互中 4 = 完成 若依 (ruoyi)系统测试接口说明1. 生成验证码2. 登录 获取 token信息3. 测试接口 最近测试 若依 项目,不知道怎么操作,多亏有好人将这篇文章相赠,特地分享出来供大家学习参考,希望大家共同进步。 1. 生成验证码 因为登录时需要输入验证码。 登录controller代码如下: 用postman 发起get 请求 请求 地址 如下:http://localhost:8080/captchaImag... 前端调用后端接口,将需要下载的图片https链接传给后端下载 后端需要设置响应头response.addHeader("Access-Control-Allow-Origin", "*"); 允许跨域 前端需要设置 responseType: 'blob' 告诉后端前端需要的是blob二进制文件流,否则会导致返回乱码 前端发送 请求 调用后端自定义文件下载接口的代码可以参考:链接指引 而这个 URL 经常需要在不同的开发、测试和部署环境中进行切换,为了实现方便的配置管理,可以将这个 URL 保存在环境变量中。process.env.VUE_APP_BASE_API 获取 自己在配置文件里设置的端口.生产/开发的端口是不同的,日常中又不能写定值,不写的话正式 服务器 是没办法读到正确的文件的,当然我这里是在 获取 网络 路径 的情况下,它是在项目启动时设置的,用于指定当前应用程序所连接的后端 服务器 的基本 URL 。这样在不同的环境中,应用程序就可以使用不同的 API 地址 ,并且不需要手动更改代码。 若依 vue前端能跳转到新 路径 的方法,我暂且知道这三种形式:1 在 若依 的菜单项添加2 在router里添加3 直接用标签里跳转第1和第2钟做法,都是要提前声明一个路由对象,然后使用或者$router.push跳转metaTitle: row.chargeName + '的费用配置'},})第3钟做法,不用声明就可以直接跳转,但是因为你不曾声明过,所以面包屑和标签页标题是不会发生改变的。.................. server_name localhost; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP token是在登录成功后返回的,可以在浏览器通过F12查看Network中的 请求 地址 ,在login 请求 响应中,我们可以在“响应”中看到;复制内容到swagger全局Authorization属性value参数中,点击Authorize,以后每次访问接口会携带此token信息。点击Execute我们就可以得到接口的分页查询数据了。选择测试接口,点击Try it out。 解决方案: 6,required URL template variable 'name' for method parameter type String is not present... 7,net::ERR_CONNECTION_TIMED_OUT 8,提交时调用的方法名写错 数据库连接池 普通的连接方式不停的连接和断开会消耗大量的资源和时间,没有对资源进行很好的重复利用,不能控制被创建的连接对象数。并且每一次使用完都必须断开,否则如果程序出现异常而未能关闭,将会导致数据库系统的内存泄漏最终重启数据库。 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。用时则取,完时则还。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。 多种开源的数据库连接池: JDBC的数据库连接池使用 java x.sql.DataSourc