Rumah >hujung hadapan web >tutorial css >Content-Type伪装 - 将jsp伪装成css

Content-Type伪装 - 将jsp伪装成css

高洛峰
高洛峰asal
2017-02-23 10:40:252113semak imbas

一、前期理论准备

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\";\n");
    out.print("p{color:red;}\n");
%>

四、结果

Content-Type伪装 - 将jsp伪装成css

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

五、扩展

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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:CSS3新特性罗列 Artikel seterusnya:可控制转速CSS3旋转风车特效