Java 将servlet类扩展到自定义类以获得更自定义的响应

Java 将servlet类扩展到自定义类以获得更自定义的响应,java,jakarta-ee,inheritance,servlets,Java,Jakarta Ee,Inheritance,Servlets,在我的项目中,用于插入、更新和删除我向servlet类请求的数据,然后它处理并返回响应 这一切都是通过jqueryajax实现的 现在,它只回应成功或失败如下 PrintWriter out = response.getWriter(); out.println("<custom message>"); import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import jav

在我的项目中,用于插入、更新和删除我向servlet类请求的数据,然后它处理并返回响应

这一切都是通过jqueryajax实现的

现在,它只回应成功或失败如下

PrintWriter out =   response.getWriter();
out.println("<custom message>");
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class myservlet extends HttpServlet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException
    {
        String format   =   req.getParameter("format");

        if(format == null)
        {
            format  =   "json";
        }
        else
        {
            if(format.equals("json"))
            {
                resp.setContentType("application/json");
            }
            else if(format.equals("xml"))
            {
                resp.setContentType("application/rss+xml");
            }
            else
            {
                //error
            }
        }
    }

    public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException
    {
        String format   =   req.getParameter("format");

        if(format == null)
        {
            format  =   "json";
        }
        else
        {
            if(format.equals("json"))
            {
                resp.setContentType("application/json");
            }
            else if(format.equals("xml"))
            {
                resp.setContentType("application/rss+xml");
            }
            else
            {
                //error
            }
        }
    }

}
上面的这个类扩展如下

导入java.io.PrintWriter

import javax.servlet.ServletException;

public class abc extends myservlet
{
    private static final long serialVersionUID = 1L;

    public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException
    {
        PrintWriter out     =   resp.getWriter();
            out.println("{/"id/": /"file/"}");
        //response must be converted to either json or to xml
    }
}
有可能吗


如何将响应动态转换为
xml
json

不要在servlet中这样做。这是一个创建过滤器的好机会,它将完成转换工作

  • 过滤器使用并将其传递给servlet
  • Servlet保存响应
  • 过滤器检查参数并委托给适当的转换器(json、xml)-后处理