【文件属性】:
文件名称:request的使用.txt
文件大小:2KB
文件格式:TXT
更新时间:2022-11-26 11:28:35
SSH
## request对象的方法使用
```javascript
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
```
该语句用于获取当前网页的相对路径
例如:
访问路径为:http://localhost:8080/hansom/response.jsp
**request.getContextPath()**返回虚拟路径: /hansom
**request.getScheme()**返回使用的协议:http
**request.getServerName()**返回所在服务器的名字:localhost
**request.getServerPort()**返回IP端口:8080
以下为个人的request笔记:
**request.getProtocol()** 得到协议的名称 如:HTTP/1.0
禁用缓存:(转载:https://blog.csdn.net/lyclngs/article/details/25964559)
**response.setHeader("Pragma", "no-cache")**
**response.setHeader("Cache-Control", "no-cache")**
**response.setHeader( "Pragma", "no-cache" );
response.addHeader( "Cache-Control", "must-revalidate" );
response.addHeader( "Cache-Control", "no-cache" );
response.addHeader( "Cache-Control", "no-store" );
response.setDateHeader("Expires", 0);**
单纯的使用 xmlhttp.setRequestHeader("Cache-Control","no-cache")无效。
Cache-Control头域
Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下:
Public指示响应可被任何缓存区缓存。
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
no-cache指示请求或响应消息不能缓存
no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。