jsp 中response.setcontenttype()的作用及參數(shù)
response.setcontenttype(mime)的作用是使客戶端瀏覽器,區(qū)分不同種類的數(shù)據(jù),并根據(jù)不同的mime調(diào)用瀏覽器內(nèi)不同的程序嵌入模塊來(lái)處理相應(yīng)的數(shù)據(jù)。
例如web瀏覽器就是通過(guò)mime類型來(lái)判斷文件是gif圖片。通過(guò)mime類型來(lái)處理json字符串。
tomcat的安裝目錄\conf\web.xml 中就定義了大量mime類型 ,可以參考。
response.setcontenttype("text/html; charset=utf-8"); html .setcontenttype("text/plain; charset=utf-8"); 文本 text/javascript json數(shù)據(jù) application/xml xml數(shù)據(jù)
這 個(gè)方法設(shè)置發(fā)送到客戶端的響應(yīng)的內(nèi)容類型,此時(shí)響應(yīng)還沒(méi)有提交。給出的內(nèi)容類型可以包括字符編碼說(shuō)明,例 如:text/html;charset=utf-8.如果該方法在getwriter()方法被調(diào)用之前調(diào)用,那么響應(yīng)的字符編碼將僅從給出的內(nèi)容類型 中設(shè)置。該方法如果在getwriter()方法被調(diào)用之后或者在被提交之后調(diào)用,將不會(huì)設(shè)置響應(yīng)的字符編碼,在使用http協(xié)議的情況中,該方法設(shè) 置 content-type實(shí)體報(bào)頭。
一般在servlet中,習(xí)慣性的會(huì)首先設(shè)置請(qǐng)求以及響應(yīng)的內(nèi)容類型以及編碼方式:
response.setcontenttype("text/html;charset=utf-8"); request.setcharacterencoding("utf-8");
response.setcontenttype()的string參數(shù)及對(duì)應(yīng)類型
<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映射策略就是在網(wǎng)頁(yè)中使用哪個(gè)應(yīng)用程序(即插件),打開(kāi)哪種文件。另外還有使用權(quán)限問(wèn)題。比如對(duì)pdf文檔,用“application/pdf “策略。這在動(dòng)態(tài)網(wǎng)頁(yè)中很常見(jiàn)。出現(xiàn)這種現(xiàn)象,有兩種情形:一是使用一個(gè)應(yīng)用程序去打開(kāi)它不能打開(kāi)的文檔,比如用在標(biāo)簽中定義“dwg”文檔用 “application/pdf ”,就會(huì)出現(xiàn)無(wú)法打開(kāi)的問(wèn)題。二是文件擴(kuò)展名符合要求,但文件內(nèi)容(格式)不符合要求。你可以檢查你瀏覽的網(wǎng)頁(yè)源代碼,獲得出錯(cuò)信息。檢查方法是:查看— 源文件。尋找類似于“application/pdf “的字符串,就可以看到,要打開(kāi)的文件是否與應(yīng)用程序匹配。 追問(wèn) 如果不相匹配 如何解決回答 這通常是由網(wǎng)頁(yè)編寫人來(lái)更改。比如:你在源文件里面找到你要打開(kāi)的文件的html標(biāo)簽,在里面加上應(yīng)用程序即可。比如,你要在網(wǎng)頁(yè)上打開(kāi)一個(gè)pdf文檔, 找到pdf文檔那一行,在html標(biāo)簽里加上 type=“application/pdf “ 就可以了。比如以下html文件: <!----------測(cè)試mime-----------><html> <head><title>測(cè)試mime</title></head><body> <a type="application/pdf" href="test.pdf" rel="external nofollow" >測(cè)試mime</a> </body> </html 將上面的代碼保存為test.html,再在相同的位置存儲(chǔ)一個(gè)pdf文檔,雙擊它就會(huì)在網(wǎng)頁(yè)中打開(kāi)該文檔。
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- jsp+servlet實(shí)現(xiàn)文件上傳與下載功能
- EJB3.0部署消息驅(qū)動(dòng)Bean拋javax.naming.NameNotFoundException異常
- 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
- 秒殺系統(tǒng)Web層設(shè)計(jì)的實(shí)現(xiàn)方法
- 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法
- JSP使用過(guò)濾器防止Xss漏洞
- 在JSP頁(yè)面中動(dòng)態(tài)生成圖片驗(yàn)證碼的方法實(shí)例
- 詳解JSP 內(nèi)置對(duì)象request常見(jiàn)用法
- 使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問(wèn)題及解決方法
- jsp實(shí)現(xiàn)局部刷新頁(yè)面、異步加載頁(yè)面的方法
- Jsp中request的3個(gè)基礎(chǔ)實(shí)踐
- JavaServlet的文件上傳和下載實(shí)現(xiàn)方法
- JSP頁(yè)面的靜態(tài)包含和動(dòng)態(tài)包含使用方法