jsp中 contentType 是什么作用?

发布网友

我来回答

3个回答

懂视网

一、前期理论准备

1)目的:
?在jsp中动态生成css语句,然后输出给浏览器解析、渲染。
2)浏览器解析文件的依据:
?页面加载后,浏览器会发起各个请求去下载各种资源。
?比如下载css文件,然后根据css的解析规则去解析文档。而如果下载的文件Content-Type不符合,则浏览器会自动屏蔽掉。
?
Content-Type伪装 - 将jsp伪装成css

二、让jsp变身css的前提

?知道浏览器的解析规则后,jsp需要做的就是把自己的Content-Type伪装成"text/css"。

三、直接上代码:

index.html

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>jsp文件
输出为css文件</title> <link type="text/css" rel="stylesheet" href="./css.jsp" /> </head> <body> <p class="demo">wall say: hello!</p> </body> </html>

css.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" session="false"%>
<% // 伪装响应的http头部
 response.setHeader("Content-Type", "text/css"); 
 // 
输出css样式 out.clear(); out.print("@charset "utf-8"; "); out.print("p{color:red;} "); %>

四、结果

Content-Type伪装 - 将jsp伪装成css
?
成功将jsp伪装成css文件,浏览器解析样式成功!

五、扩展

?根据这种伪装规则,可以将jsp伪装成任意的文件格式,只要浏览器能够解析。
比如伪装成js,则将Content-Type设置为“application/x-javascript”

更多Content-Type伪装 - 将jsp伪装成css 相关文章请关注PHP中文网!

热心网友

解析语言的作用。

获知请求中的消息主体是用何种方式编码,再对主体进行解析。

Content-Type 被指定为 application/x-www-form-urlencoded;其次,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。大部分服务端语言都对这种方式有很好的支持。例如 PHP 中,$_POST[‘title’] 可以获取到 title 的值,$_POST[‘sub’] 可以得到 sub 数组。

JSP:

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

热心网友

contentType
content叫做内容Type 叫类型
他影响客户的浏览方式
您另存为什么都行,因为他影响的客户端数据
编码是不会改变的,因为您还有一个叫做pageEncoding
他是程序的编码。
您明白了吗pageEncoding程序编码contentType 显示编码

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com