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

目录

一、知识点

二、例子

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

2.2 例2:指定响应格式,如word文档


上章讲了ServletRequest是处理请求的,有请求就有响应,本章将讲ServletResponse响应。

一、知识点

ServletResponse: 封装了响应信息,如果想给用户什么响应,具体可以使用该接口的方法实现。

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

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

二、例子

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的字样,再也不是空白页面了^_^

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,弹出下载对话框

下载用word打开,结果如下:

猜你喜欢

转载自blog.csdn.net/hualinux/article/details/106833239