百度
360搜索
搜狗搜索

setheader,setheaderdata隐藏标签方法详细介绍

本文目录一览: java web怎么添加response.setheader

response.setHeader()的用法
1. HTTP消息头
(1)通用信息头
即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma
主要: Cache-Control , Connection , Data , Pragma , Trailer , Transfer-Encoding , Upgrade
(2)请求头
用于在请求消息中向服务器传递附加信息,主要包括客户机可以接受的数据类型,压缩方法,语言,以及客户计算机上保留的信息和发出该请求的超链接源地址等.
主要: Accept , Accept-Encoding , Accept-Language , Host ,
(3)响应头
用于在响应消息中向客户端传递附加信息,包括服务程序的名称,要求客户端进行认证的方式,请求的资源已移动到新地址等.
主要: Location , Server , WWW-Authenticate(认证头)
(4)实体头
用做实体内容的元信息,描述了实体内容的属性,包括实体信息的类型,长度,压缩方法,最后一次修改的时间和数据的有效期等.
主要: Content-Encoding , Content-Language , Content-Length , Content-Location , Content-Type
(5)扩展头
主要:Refresh, Content-Disposition
2. 几个主要头的作用
(1)Content-Type的作用
该实体头的作用是让服务器告诉浏览器它发送的数据属于什么文件类型。
例如:当Content-Type 的值设置为text/html和text/plain时,前者会让浏览器把接收到的实体内容以HTML格式解析,后者会让浏览器以普通文本解析.
(2)Content-Disposition 的作用
当Content-Type 的类型为要下载的类型时 , 这个信息头会告诉浏览器这个文件的名字和类型。
Content-Disposition扩展头的例子:
<%@ page pageEncoding="GBK" contentType="text/html;charset=utf-8" import="java.util.*,java.text.*" %><%=DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.CHINA).format(new Date())%><% response.setHeader("Content-Type","video/x-msvideo"); response.setHeader("Content-Disposition", "attachment;filename=aaa.doc");%>
Content-Disposition中指定的类型是文件的扩展名,并且弹出的下载对话框中的文件类型图片是按照文件的扩展名显示的,点保存后,文件以filename的值命名,保存类型以Content中设置的为准。
注意:在设置Content-Disposition头字段之前,一定要设置Content-Type头字段。
3.如何实现文件下载
要实现文件下载,我们只需要设置两个特殊的相应头,它们是什么头?如果文件名带中文,该如何解决?
两个特殊的相应头:
----Content-Type: application/octet-stream
----Content-Disposition: attachment;filename=aaa.zip
例如:
response.setContentType("image/jpeg");response.setHeader("Content- Disposition","attachment;filename=Bluehills.jpg");如果文件中filename参数中有中文,则就会出现乱码。
解决办法:
(1)MimeUtility.encodeWord("中文.txt");//现在版本的IE还不行(2)new String("中文".getBytes("GB2312"),"ISO8859- 1");//实际上这个是错误的
4. 测试并分析文件名乱码问题
response.setHeader()下载中文文件名乱码问题
response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));
response.setHeader(...)文件名中有空格的时候
String fileName = StringUtils.trim(file.getName());String formatFileName = encodingFileName(name);//在后面定义方法encodingFileName(String fileName);response.setHeader("Content-Disposition", "attachment; filename=" + formatFileName );//处理文件名中出现的空格 //其中%20是空格在UTF-8下的编码public static String encodingFileName(String fileName) { String returnFileName = ""; try { returnFileName = URLEncoder.encode(fileName, "UTF-8"); returnFileName = StringUtils.replace(returnFileName, "+", "%20"); if (returnFileName.length() > 150) { returnFileName = new String(fileName.getBytes("GB2312"), "ISO8859-1"); returnFileName = StringUtils.replace(returnFileName, " ", "%20"); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); if (log.isWarnEnabled()) { log.info("Don't support this encoding ..."); } } return returnFileName; }
一秒刷新页面一次
response.setHeader("refresh","1");
二秒跳到其他页面
response.setHeader("refresh","2;URL=otherPagename");
没有缓存:
response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");
设置过期的时间期限
response.setDateHeader("Expires", System.currentTimeMillis()+自己设置的时间期限);访问别的页面:
response.setStatus(302); response.setHeader("location","url");
通知浏览器数据采用的压缩格式:
response.setHeader("Content-Encoding","压缩后的数据");
高速浏览器压缩数据的长度:
response.setHeader("Content-Length",压缩后的数据.length+"");高速浏览器图片或视频:
response.setHeader("Content-type","这个参数在tomcat里conf下的web.xml里面找");inputstream in= this.getServletContext.getResourceAsStream("/2.jpg");int len=0;byte buffer[]= new byte[1024]outputStream out = response.getOutputStream();while(len=in.read(buffer)>0){ out.write(buffer,0,len)}
高速浏览器已下载的形式:
response.setHeader("Content-disposition","attachment;filename=2.jpg");inputstream in= this.getServletContext.getResourceAsStream("/2.jpg");int len=0;byte buffer[]= new byte[1024]outputStream out = response.getOutputStream();while(len=in.read(buffer)>0){ out.write(buffer,0,len)}

response.reset和response.setHeader方法该怎样理解

response.reset();清除buffer
response.setHeader("Content-disposition","attachment;filename="+new String(str.getBytes("gb2312"),"iso8859-1")); //客户使用目标另存为对话框保存指定文件
response.setHeader("Content_Length",length);设置头文件的长度为指定文件的长度
response.setHeader()的用法 1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cache-Control , Connection , Data , Pragma , Trailer , Transfer-Encoding , 。

setheaderdata隐藏标签方法

setheaderdata隐藏标签方法如下:1、visibility:hidden(隐藏),visibility:visible(显示)。2、opacity属性值:(0-1)opacity设置透明度值从0-1,0表示完全透明,1表示完全不透明将标签设置为opacity,0即可使标签隐藏。

Javaweb题目,求大神解答指点

在 Java Web 中,可以使用过滤器 Filter 来禁止浏览器缓存页面。
基本思路:
实现一个过滤器类,并实现 javax.servlet.Filter 接口。
在过滤器的 doFilter() 方法中,设置响应头信息,以禁止浏览器缓存页面。
过滤器 doFilter 代码示例:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse httpResponse = (HttpServletResponse) response;
// 设置响应头信息,禁止浏览器缓存页面
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
httpResponse.setHeader("Pragma", "no-cache");
httpResponse.setDateHeader("Expires", 0);
chain.doFilter(request, response);
}
相应配置脚本:
在 web.xml 文件中,使用如下脚本配置过滤器:

noCacheFilter

com.example.NoCacheFilter

noCacheFilter

阅读更多 >>>  网络上xsr什么意思

/*

这样,当浏览器请求页面时,过滤器就会自动设置响应头信息,以禁止浏览器缓存页面。
禁止浏览器缓存页面的基本思路是在过滤器Filter中添加响应头,以便在服务器端覆盖浏览器端缓存。过滤器doFilter代码如下:
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
chain.doFilter(request, response);
}
相应配置脚本为:

CacheFilter

com.example.CacheFilter

CacheFilter

/*

禁止浏览器缓存页面,我们可以使用过滤器Filter来实现。基本思路就是在HTTP响应头中添加一些信息,使浏览器不缓存服务器返回的页面内容,而是每次请求都重新获取最新的数据。
以下是一个简单的Filter示例代码,用于禁止浏览器缓存页面:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
public class NoCacheFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
httpResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0.
httpResponse.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);
}
public void destroy() {}
public void init(FilterConfig filterConfig) throws ServletException {}
}
在这个Filter中,我们在HTTP响应头中设置了三个参数,分别是:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
这三个参数的作用如下:
Cache-Control: no-cache, no-store, must-revalidate
禁止浏览器缓存页面,强制浏览器每次请求都重新获取最新的数据。
Pragma: no-cache
和Cache-Control配合使用,确保浏览器不会缓存页面。
Expires: 0
设置过期时间为0,清除浏览器所有缓存。
接下来是Filter的配置脚本,我们把它保存为名为NoCacheFilter.xml的文件,在WEB-INF目录下的web.xml文件中进行引用即可:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"

id="WebApp_ID" version="4.0">

NoCacheFilter

com.example.NoCacheFilter

NoCacheFilter

*

在这个配置文件中,我们定义了一个Filter,名字叫做NoCacheFilter,它的实现类是com.example.NoCacheFilter。然后我们给它加上了一个URL匹配模式,使得它能够拦截到所有的请求,从而实现禁止浏览器缓存页面的效果。
在 Java Web 开发中,你可以使用过滤器 (Filter) 来禁止浏览器缓存页面。这里是基本的实现步骤:
创建一个新的过滤器类,实现 javax.servlet.Filter 接口。这个类应该包含一个实现了 doFilter 方法的代码块,该方法将在过滤器生效时被调用。
在 doFilter 方法中,你可以使用 HttpServletResponse 对象的 setHeader 方法来设置一些响应头信息,以禁止浏览器缓存页面。例如,你可以使用以下代码来设置 "Cache-Control" 响应头:
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
在你的 Web 应用的部署描述符 (web.xml) 中,使用

元素配置过滤器。这样,你就可以在所有请求到达指定的资源之前,先将其过滤一遍。

下面是一个示例过滤器的完整代码,它实现了上述步骤:

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletResponse;

public class NoCacheFilter implements Filter {

@Override

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)

throws IOException, ServletException {

HttpServletResponse httpResponse = (HttpServletResponse) response;

httpResponse.

response.reset和response.setHeader方法该怎样理解

response.setHeader 是用来设置返回页面的头 meta 信息,
使用时 response.setHeader( name, contect );
response.reset(); 清空buffer,设置页面不缓存

response.setheader(content_length,length)的意思是什么啊。

response.setHeader("Content_Length",length);设置头文件的长度为指定文件的长度

Android开发中post.setHeader()这个方法是做什么的 参数都是做什么的

作用当然是和后台服务器交互,顺便要解决中文乱码
HttpPost post = new HttpPost(url);
post.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
使用setHeader方法重新写一个HttpHeader把Charset写进去就可以了。

JAVA 中怎么使用HttpPost的setHeader方法呢, 提示有语法错误,而且HttpPo

你是要设置请求头还是响应头信息?request.setHeader(),或是response.setHeader()
httpPost.addHeader("Content-Type", "application/json");

node中res.header与res.setHeader有什么区别?

你好,两个都是设置Header的,但是如果你是使用原生node的http模块,那就用res.setHeader,因为res.header是express框架的,你没有导入express框架的话就用res.setHeader就行了

java大神给我解释一下下面几句话的意思吧

response是服务器响应信息,setHeader()设置响应信息头,setContentType设置响应内容格式,然后下面是打印,然后清空
这是一个服务器响应文件下载的操作,前两句是设置Http协议头,设置响应文件的描述和类型,octet-stream代表未知的二进制流,这样客户端就会知道这不是一个网页,而是提示你保存文件。
后两句是将文件转化为二进制流,然后发送给客户端。
服务器后台 对前台的请求作出响应
将Name 的声明为file的信息放到头文件里
然后将file的内容属性和utf8的字符集信息放入内容类型内
然后利用FilesUtils包里的readFileToByteArray()方法将downFile.getFile() 这个文件
转化成流数据
然后放入os这个输出通道内
强制刷新 向浏览器输出
jspjspjspjspjspjsp
设置http响应请求的haeder
详细参考http://blog.csdn.net/lihua2915/article/details/6300771
关于header的设置参数可以参考
http://www.2cto.com/net/201207/141391.html
第一第二句是设置文件头,告诉对方浏览器,我这里是个流文件,文件名是 Name。
第三句,是将downFile.getFile()的文件装换成流的形式向对方浏览器输出。
第四句,由于系统有时会将文件缓冲,造成流输出的延误,用flush强制流立刻输出。

阅读更多 >>>  spring运行流程,springboot启动过程是?

网站数据信息

"setheader,setheaderdata隐藏标签方法"浏览人数已经达到26次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:setheader,setheaderdata隐藏标签方法的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!