首頁  >  文章  >  web前端  >  Content-Type偽裝 - 將jsp偽裝成css

Content-Type偽裝 - 將jsp偽裝成css

高洛峰
高洛峰原創
2017-02-23 10:40:252052瀏覽

一、前期理論準備

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中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn