Spring MVC 页面跳转与返回数据,系列文章:

《Servlet实现页面的跳转:转发、重定向》

《Servlet使用HttpServletResponse返回字符串或JSON内容(解决中文乱码问题)》

《SpringMVC实现页面的跳转:转发、重定向》

《SpringMVC后端实现页面跳转和返回数据:ModelAndView对象、String字符串、JSON格式数据》

《SpringMVC请求参数的获取与绑定:基本类型、数组类型、List类型、Map类型》

在项目开发中,有时候我们需要Servlet类返回字符串、JSON或者页面HTML内容。

1、Servlet返回字符串

示例:创建CharacterServlet类,实现Servlet类返回字符串。

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * 输出字符串Servlet类
 * @author pan_junbiao
 */
@WebServlet(name="CharacterServlet",urlPatterns = "/Servlet/CharacterServlet")
public class CharacterServlet extends HttpServlet
{
    @Override
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        String result = "您好,欢迎访问 pan_junbiao的博客!";

        //返回结果
        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        // 获取PrintWriter对象
        PrintWriter out = response.getWriter();
        out.print(result);
        // 释放PrintWriter对象
        out.flush();
        out.close();
    }
}

执行结果:

2、Servlet返回JSON内容

示例:创建JsonServlet类,实现Servlet类返回JSON内容。

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * 输出JSON内容Servlet类
 * @author pan_junbiao
 */
@WebServlet(name="JsonServlet",urlPatterns = "/Servlet/JsonServlet")
public class JsonServlet extends HttpServlet
{
    @Override
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        String json = "{\n" +
                "\t\"userId\": 1,\n" +
                "\t\"userName\": \"pan_junbiao的博客\",\n" +
                "\t\"blogUrl\": \" https: //blog.csdn.net/pan_junbiao\",\n" +
                "\t\"sex\": \"男\"\n" +
                "}";

        //返回结果
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        // 获取PrintWriter对象
        PrintWriter out = response.getWriter();
        out.print(json);
        // 释放PrintWriter对象
        out.flush();
        out.close();
    }
}

执行结果:

3、Servlet返回页面HTML内容

示例:创建PageServlet类,实现Servlet类返回页面HTML内容。

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * 输出页面HTML内容Servlet类
 * @author pan_junbiao
 */
@WebServlet(name="PageServlet",urlPatterns = "/Servlet/PageServlet")
public class PageServlet extends HttpServlet
{
    @Override
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        PrintWriter out = response.getWriter();
        out.println("<HTML>");
        out.println("<HEAD><TITLE>Servlet 实例</TITLE></HEAD>");
        out.println("<BODY>");
        out.println("您好,欢迎访问 pan_junbiao的博客!");
        out.println("<br/>博客地址:https://blog.csdn.net/pan_junbiao");
        out.println("<br/>Servlet实例:");
        out.println(this.getClass());
        out.println("</BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }
}

执行结果:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐