javaweb,tomcat中的response 的setcontextType方法怎么起作用的 20C

在jsp的编译的过程中会调用到上述的方法,在浏览器接收到的源代码,中没有关于html编码的响应头,
但是这样浏览器还是知道了页面的编码方式,没有出现乱码,我想知道上述的方法怎么起作用的,
然而在直接访问的html静态的页面的时候,如果不自己加上头的话,肯定出现乱码!自己查看了这个方法的源码。。。也没有看见设置相应头的代码,至于什么,就没看了(看不懂),希望有人能解答我的疑惑,谢谢。

0

4个回答

在编译的环境下:一般在JSP代码前会统一下编码,如 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
一种可能是用了eclipse模板的pageEncoding的默认值是“iso-8859-1”,另外浏览器默认的编码也可能会起作用

0
 response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。

Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考。
response.setContentType("text/html; charset=utf-8"); html
.setContentType("text/plain; charset=utf-8"); 文本
text/javascript json数据
application/xml  xml数据

这 个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明,例 如:text/html;charset=UTF-8.如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型 中设置。该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设 置 Content-type实体报头。
一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");


response.setContentType()的String参数及对应类型

<option   value="image/bmp">BMP</option>   
<option   value="image/gif">GIF</option>   
<option   value="image/jpeg">JPEG</option>   
<option   value="image/tiff">TIFF</option>   
<option   value="image/x-dcx">DCX</option>   
<option   value="image/x-pcx">PCX</option>   
<option   value="text/html">HTML</option>   
<option   value="text/plain">TXT</option>   
<option   value="text/xml">XML</option>   
<option   value="application/afp">AFP</option>   
<option   value="application/pdf">PDF</option>   
<option   value="application/rtf">RTF</option>   
<option   value="application/msword">MSWORD</option>   
<option   value="application/vnd.ms-excel">MSEXCEL</option>   
<option   value="application/vnd.ms-powerpoint">MSPOWERPOINT</option>   
<option   value="application/wordperfect5.1">WORDPERFECT</option>   
<option   value="application/vnd.lotus-wordpro">WORDPRO</option>   
<option   value="application/vnd.visio">VISIO</option>   
<option   value="application/vnd.framemaker">FRAMEMAKER</option>   
<option   value="application/vnd.lotus-1-2-3">LOTUS123</option>

MIME映射策略就是在网页中使用哪个应用程序(即插件),打开哪种文件。另外还有使用权限问题。比如对PDF文档,用“application/pdf “策略。这在动态网页中很常见。出现这种现象,有两种情形:一是使用一个应用程序去打开它不能打开的文档,比如用在标签中定义“DWG”文档用 “application/pdf ”,就会出现无法打开的问题。二是文件扩展名符合要求,但文件内容(格式)不符合要求。你可以检查你浏览的网页源代码,获得出错信息。检查方法是:查看— 源文件。寻找类似于“application/pdf “的字符串,就可以看到,要打开的文件是否与应用程序匹配。 追问 如果不相匹配 如何解决回答 这通常是由网页编写人来更改。比如:你在源文件里面找到你要打开的文件的HTML标签,在里面加上应用程序即可。比如,你要在网页上打开一个PDF文档, 找到PDF文档那一行,在HTML标签里加上 type=“application/pdf “ 就可以了。比如以下HTML文件: <!----------测试MIME-----------><html> <head><title>测试MIME</title></head><body> <a type="application/pdf" href="test.pdf">测试MIME</a> </body> </html 将上面的代码保存为test.html,再在相同的位置存储一个pdf文档,双击它就会在网页中打开该文档。
-1
qq_36727260
一直闪光的灯 协议格式去解析这段字节,其中一个就是告诉浏览器编码的一个相应头也就是说我理解的浏览器知道这段字节的编码方式只有看响应头。不然还有其他方式吗
一年多之前 回复
qq_36727260
一直闪光的灯 感激你的回答,我所理解的在网站上的服务器响应只是反馈一大段的字节,而且只有这么一次。而浏览器,就通过http
一年多之前 回复

你可以检查你浏览的网页源代码,获得出错信息。检查方法是:查看— 源文件。寻找类似于“application/pdf “的字符串,就可以看到,要打开的文件是否与应用程序匹配。 追问 如

-1

编码方式改为utf-8

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
servlet中反射应用
1.首先是BaseServlet/** * 通用的servlet */ public class BaseServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void service(HttpServletRequest request, HttpServletR...
java web 处理response返回数据
工作的时候遇到一个需求,同样的接口返回给App端的json数据需要将数值型改成字符型,而之前传给网页端的比如一些分页数据、时间戳、id等是数值的。 于是打算加一个拦截器拦截请求,在controller执行完后,如果是传给App端就把json做一下转换。 看一下拦截器的postHandler方法 @Override public void postHandle(HttpSe...
深入体验JavaWeb开发内幕之Response对象操作实例之通过Response实现重定向和刷新跳转并跳转页面
通过Response对象实现重定向的两种方式: index.jsp [java] view plain copy "java" import="java.util.*" pageEncoding="UTF-8"%>   String path = request.getContextPath();   String basePa
Tomcat与JavaWeb开发技术详解
Tomcat与JavaWeb开发技术详解Tomcat与JavaWeb开发技术详解Tomcat与JavaWeb开发技术详解Tomcat与JavaWeb开发技术详解Tomcat与JavaWeb开发技术详解
Spring全家桶——SpringBoot 入门 JPA
SpringBoot之入门JPA 什么是JPA? 一种规范,并非ORM框架,也就是ORM上统一的规范 用了之后可以做什么,为什么要用? 代码解释: 实体类 package com.example.springredis.entity; import lombok.Data; import javax.persistence.Entity; im...
在tomcat中部署web项目的方法
在tomcat中部署web项目的基本方式,简单明了,希望能帮助到大家。
JAVAWeb——response输出流
1. response.getOutputStream()  *输出字节流,类型为:ServletOutputStream *只有print()方法 2. response.getWriter(); *输出字符流,类型为:PrintWriter  *有print()   write() **print方法就是调用write方法实现的,也就是将object转换成String了而已。还有...
tomat的response filter servlet,我们操作的内容如何放回给浏览器的
这里想说明一个问题,就是所有响应的内容都在respones里,我们i可以在过滤器这里获取到response里所有的内容。我可以看到servlet和filter中的方法都是没有返回值的,他们只是负责操作request和response,对response的操作就是把我们想要给浏览器的内容放到response里,然后tomcat会把response返回给浏览器。我们所有的响应内容不管是重定向还是转发还...
Javaweb中的request的常用方法学习记录
Javaweb中的request的常用方法学习记录 在JavaWeb项目中,发现程序使用了 request.getScheme() 。不明白是什么意思。现在明白了。整理如下: 1、request.getScheme() 返回当前链接使用的协议;比如,一般应用返回http;SSL返回https; 2、在程序中的应用如下: Java代码   String path
浅谈java Web中的request和response,以及转发和重定向的区别。
今天着重学习了JSP内置对象,尤其是request和response,以及转发和重定向的区别,所以在此总结一下。 如有错误和纰漏,敬请指正! request对象主要用于接收客户端通过HTTP协议连接传输到服务器端的数据,作用域是从HTTP请求到服务器处理结束,返回相应的整个过程。 主要方法是setParameter()和getParameter(),为变量赋值或者获得变量的值。 r
java中Request和Response常用方法及举例
**Request的常用方法:** setAttribute() 在Request域中存储数据 setCharacterEncoding() 设置请求参数的编码方式,只对post请求有效 getAttribute() 获取域中存储的数据 getAttributeNames() 获取域中所有数
JavaWeb response使用中造成的中文乱码问题解决
一、乱码原因 当我们使用response.getWriter().write();方法向浏览器中写入数据时,经常会出现中文乱码问题。首先我们要去了解一下关于response的write方法,write方法是将内容写入response缓冲区之中。而在缓冲区中所使用的编码是 ISO8859,这种编码方式是不支持中文的,所以无法识别我们所写入的中文信息。为了避免乱码问题,我们要是用 UTF-8 的编码方...
javaweb项目部署到tomcat下,修改配置文件问题总结
windows自带的记事本编辑工具在保存UTF-8的文件时,会在每个文件开头添加0xefbbbf(十六进制)的字符(也就是带bom的UTF-8, UTF- 8编码的文件中,BOM占三个字节。如果用记事本把一个文本文件另存为UTF-8编码方式的话,切换到十六进制编辑状态就可以看到开 头的FFFE了。这是个标识UTF-8编码文件的好办法,软件通过BOM来识别这个文件是否是UTF-8编码,很多软件还要求...
如何将java web项目在tomcat下发布
一、背景 二、项目准备 三、下载一个容器/服务器/Tomcat 四、 傻瓜式截图给你瞅 五、快速充电 六、写在最后 问题集锦 一、背景 在学习java web 一段时间后,我们常常会想把自己的项目想淘宝,京东,百度等网站一样,发布到互联网上,供大家使用(有点装逼了【- 。-】,其实对于初学不就,或者想我一样技术很久没有更新的,只是希望自己的项目不仅仅在本机操作)。那么...
JavaWeb---response头--Refresh(刷新)、禁用浏览器缓存、响应体
public class AliceServlet extends HttpServlet {     public void doGet(HttpServletRequest request, HttpServletResponse response)             throws ServletException, IOException {
学习笔记,javaWeb中的Response
Response用来封装服务器向客户端返回的数据 package response; import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import j
java web开发中的编码设置问题 request和response的编码问题
方法一 String name = req.getParameter(&amp;amp;amp;quot;name&amp;amp;amp;quot;);//目前获取到的是iso-8859-1的编码 byte[] bs = name.getBytes(&amp;amp;amp;quot;iso-8859-1&amp;amp;amp;quot;);//根据iso-8859-1获取字节码 String name1 = new String(bs,&amp;amp;amp;quot;utf-8&amp;amp;a
response返回的请求出现混乱的问题的处理,中间件是tomcat8
中间件: tomcat8   tomcat7 问题: response返回的请求出现混乱的问题的处理 描述: 假定请求A正确返回的response的数据应该是aaaaaa  ; 请求B正确返回的response的数据应该是bbbbbb;在压力较高时(有时压力也不大,仅仅是请求的处理时间较长),出现请求B返回的数据是 aaaaaa bbbbbb;即请求B的返回值将其他的请求的返回值也包含到了自身
【JavaWeb-6】HttpServletResponse的字符字节输出流、编码、文件下载、Captcha图片与HttpServletRequest获取request数据表单非表单数据、重定向与转发
1、HttpServletResponse。——我们要输出东西,也就是设置响应的response,在下面我们利用字符输出流来向浏览器输出东西。这里利用了response的getWriter方法,这个getWriter的返回值是一个PrintWriter对象。 public void doGet(HttpServletRequest request, HttpServletResponse re
关于JavaWeb中 Response返回中文乱码的问题
背景: 在作业过程中写了如下的代码: PrintWriter out = response.getWriter();         out.println("CounterServlet");         out.println("");         out.println("欢迎光临本站,你说第 " + counter.getCount()+"个访问者");
Java Web中内置对象--response重定向
1、内置对象,是指在jsp页面中内置的不需要定义就可以在网页中直接使用的对象   2、特点:       (1)内置对象是自动载入的,因此不需要实例化        (2)内置对象使用Web容器来实现和管理        (3)在所有的jsp页面中,直接调用内置对象都是合法的  3、response对象     (1)利用response对象进行重定向,方法:response.send
javaweb开发配置步骤(包括Apache和Tomcat服务器的安装及配置)
javaweb开发配置步骤(包括Apache和Tomcat服务器的安装及配置)
Javaweb入门之Tomcat安装及eclipse配置
这几天一直在准备期末,实在没得什么意思,但是还真的有点怕挂科,准备写这篇博客的原因完全是想锻炼下自己的耐心,因为我知道肯定要搞很久。尤其是截各种图。。。一些基础知识1.PC:用户通过浏览器访问应用程序。 2.应用服务器:存放的是应用程序的文件,执行的是应用程序的代码(java代码)。 3.数据库服务器:存放数据库,对数据库的物理存储。 4.BS结构:浏览器+服务器的应用程序结构。 5.CS结构:客户
使用清华源和阿里源替代Ubuntu源
sudo nano /etc/apt/sources.list 替换为如下文本 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse # deb-src https://mirrors.t...
javaweb用拦截器计算action执行时间
javaweb用拦截器计算action执行时间
jsp forward用法以及与response的区别(jsp实验)
forward可以保存登录信息,属于内部跳转;而response属于外部跳转,不可保留登录信息。 登录界面: 登录成功界面: 登录失败界面:
JavaWeb_Request和Response对象详细PPT
方立勋讲解的JavaWeb中request和response对象的介绍和应用,配合视频学习最好!
如何将Javaweb项目部署到Tomcat并且通过外网访问
如何将Javaweb项目部署到Tomcat并且通过外网访问 第一次写博客,,算是为这两天做个总结,,写的有不对之处欢迎指正 第一步需要的材料: 1.通过eclipse打包一个.war项目 2.Tomcat服务器 3.去租一个云服务器 第二步: 1.远程连接上云服务器,,配置好jdk和Tomcat 2.将Javaweb项目部署到tomcat上 3.修改Tomcat配置文件 3
JavaWeb+Tomcat绑定域名发布
首先找到tomcat的安装目录下的conf/server.xml vi server.xml 修改Engine的defaultHost为你自己的域名,这里我填写的是我自己的域名www.hsocode.top &amp;amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.hsocode.top&amp;quot;&amp;amp;gt; 最后在Engine下添加如下代码: &amp;amp;lt;Hos
eclipse中怎么配置tomcat
eclipse中怎么配置tomcat
JAVA_WEB项目中响应端获取文件路径的方式(tomcat服务器)
Web项目中响应端获取文件路径的方式(tomcat服务器): 比如我在这个Web项目下有放置了这些文件,需要获取它们的路径 1.放置在Web项目下的src目录中的 d.txt 文件路径获取: ServletContext con = this.getServletContext(); // 获取全局域对象 String path = con.getRealPath(“/WEB
java web项目部署到tomcat服务器(一般步骤和自己所犯错误的总结)————高手忽略
最近由于项目需求,需要将java web项目部署到本地tomcat上(版本为8.0)进行测试。作为一个非计算机专业的菜鸟,之前的工作都是写后台逻辑代码,没接触过web项目部署。部署的时候不知道如何下手,参考了其他博客以及他人问题的解决方法,终于把项目简单部署到tomcat上。 部署步骤一般如下:        1.在IDE中将整个项目打包成WAR包文件;        2.将打包好的WAR包
JAVA WEB应用目录
目录 Tomcat目录 MyEclipse目录 部署启动应用 Tomcat目录 首先,官方下载 tomcat 安装包,解压。得到下面的目录 bin 目录是tomcat启动和关闭目录。startup.bat启动tomcat 、shutdown.bat关闭tomcat webapps 目录存放着我们的网页文件,自带有其他几个文件夹。我们可以新建myHome文件夹,然后在里面...
Tomcat输出流异常的解决
     前几天做了一个jsp文件下载的页面,刚开始是直接链接到要下载的文件上,在装有像迅雷,网际快车下载软件没有问题,但在没有装这些软件的机器上会把文件直接打开,如果是一个带后缀名为.rar压缩文件后会直接打开,页面全是乱码。最后重新做了一遍,download.jsp页面接收文件的id,根据这个id号找到对应的文件所有在的路径,把要下载的文件转换成流输出,下载的功能实现了,不过每次下载文件tom...
关于JavaWeb开发中的基础知识点——resquest response
关于JavaWeb开发中的基础知识点——resquest response我们所了解对于一个客户端向服务器发出请求的时候,会分别如下两个成员a.HttpServletRequest requestb.HttpServletResponse response这两个对象,request对象可以用来获取客户端向服务器提交的信息,response用于响应客户端的请求。但是有这样一个问题response的存在
中文乱码-Javaweb-response输出中文时浏览器页面乱码解决方法
中文乱码有两类,第一种是,请求对象中文乱码,即就是request对象乱码。第二种是,响应对象中文乱码,即就是response对象乱码。 第一种情况参见上一篇文章。 2. response对象输出中文数据乱码解决方案: 2.1 字节流输出响应乱码。 该情况不一定乱码。但是解决乱码的步骤是: 1) 设置浏览器打开文件时采用的编码。 Response.setHeader(“Content-
JAVA WEB request 常用 获取访问信息方法
String requestUrl=request.getRequestURL().toString();//得到请求的URL地址 String requestUri=request.getRequestURI();//得到请求的资源 String queryString=request.getQueryString();//得到请求的URL地址中附带的参数 String remoteAddr=r...
eclipse配置tomcat,并部署一个Java web项目到tomcat上
eclipse配置tomcat1、windows——preference2、server——Runtime  Environment3、Add下图中第2表示:选中自己安装tomcat的目录创建web项目1、eclipse使用技巧2、创建Java web项目3、4、点击finsh5、解释部署一个Java  web项目到tomcat上1、显示Server2、3、4、5、启动tomcat,选中生成的to...
Java Web项目开发并部署到本地Tomcat服务器流程
这两天一直在研究java web项目的发布,总是遇到各种各样的bug,也在不断的解决这些问题,现在就来总结一下这两天的收获。 开发环境:IDEA  2018.2.2 流程: 首先创建web 项目: 按照图示勾选即可 自定义项目名称和工程路径 finish后项目目录结构如下 可能有些人有.idea这一条,不用管它,那是开发工具自带的一些配置,我们用不到 jdk这个就不说了...
IDEA+Maven+JavaWeb+tomcat项目搭建(图文并茂,详细)
前言:网上有很多idea+maven+web+tomcat部署的例子,可是基本都不是完整详细的,对于习惯了Eclipse的同学,突然换idea还是需要点时间适应的,这个过程简单但也是痛苦的,为了使更多的初学者不走弯路,下面给大家列一份详细的步骤,并全部以截图展示。   一、创建Maven项目 1:如果刚打开IDEA,显示的是这个页面,我们直接单击 Create New Project(创建项...