一、 获取此次请求的URL
String requestUrl = request.getScheme()
+"://" + request.getServerName()
+ ":" + request.getServerPort()
+ request.getContextPath()
+ request.getServletPath()
+ "?" + 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