天天看點

hualinux servlet 2.14:ServletResponse 接口及其子接口

目錄

​​一、知識點​​

​​二、例子​​

​​2.1 例1:在web上輸出“hello”​​

​​2.2 例2:指定響應格式,如word文檔​​

上章講了ServletRequest是處理請求的,有請求就有響應,本章将講ServletResponse響應。

一、知識點

ServletResponse: 封裝了響應資訊,如果想給使用者什麼響應,具體可以使用該接口的方法實作。

通過JEE API可以知道ServletResponse有哪些方法,常用的不多就getWriter,如下:

hualinux servlet 2.14:ServletResponse 接口及其子接口

更多是使用子接口HttpServletResponse,其中sendRedirect() 方法很重要

hualinux servlet 2.14:ServletResponse 接口及其子接口
hualinux servlet 2.14:ServletResponse 接口及其子接口

二、例子

2.1 例1:在web上輸出“hello”

前面幾章的例子都是在ide中顯示輸出結果的,不可能讓使用者看ide吧,是以要把結果輸出給頁面,就用到了我們的主角 ServletResponse

把上章《​​hualinux servlet 2.13:ServletRequest 接口及其子接口​​》Login.java的service()方法修改如下:

//需要導入的類
import java.io.PrintWriter;

@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    PrintWriter out = servletResponse.getWriter();
    out.println("hello");
}      

重新開機tomcat, 在打開的浏覽器,随順輸入一些東西,然後點“送出”會看到頁面有hello的字樣,再也不是空白頁面了^_^

hualinux servlet 2.14:ServletResponse 接口及其子接口
hualinux servlet 2.14:ServletResponse 接口及其子接口

2.2 例2:指定響應格式,如word文檔

我們要檢視tomcat支援哪些MIME類型,可以在根目錄的conf-->web.xml,查找

<mime-mapping>
     <extensi on>doc</extensi on>
     <mime-type>application/msword</mime -type>
 </mime-mapping><mime-mapping>
     <extension>docm</extensi on>
     <mime-type>application/vnd.msword.document.macroenabled.12</mime-type>
 </mime- mapping><mime- mapping>
     <extensi on>docx</extensi on>
     <mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime-type>
 </mime mapping>      

我們就用上面第1個,知道類型為“application/msword”,指定一下就OK了

我們在T1.java類的service方法中添加如下代碼

import java.io.PrintWriter;

@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    servletResponse.setCharacterEncoding("UTF-8");
    servletResponse.setContentType("application/msword");
    PrintWriter out = servletResponse.getWriter();
    out.println("用servletResponse指定doc類型");
}      

在idea打開的浏覽器尾部添加t1,彈出下載下傳對話框

hualinux servlet 2.14:ServletResponse 接口及其子接口