Java 响应已在自定义servlet转发中写入两次

Java 响应已在自定义servlet转发中写入两次,java,tomcat,servlets,Java,Tomcat,Servlets,我需要转发到一个servlet,该servlet由一个自定义类加载器使用一个外部配置文件从主servlet动态地从jar加载。servlet本身未映射到web.xml中。 我已经能够加载servlet并使用反射和强制转换构建一个新实例: Object o = loadedClass.newInstance() ; HttpServlet loadedServlet = (HttpServlet) o ; 我已将servlet初始化为: loadedServlet.init(getServlet

我需要转发到一个servlet,该servlet由一个自定义类加载器使用一个外部配置文件从主servlet动态地从jar加载。servlet本身未映射到web.xml中。 我已经能够加载servlet并使用反射和强制转换构建一个新实例:

Object o = loadedClass.newInstance() ;
HttpServlet loadedServlet = (HttpServlet) o ;
我已将servlet初始化为:

loadedServlet.init(getServletConfig()) ;
loadedServlet.service(request, response) ;
然后实施了每一项措施。。。主servlet中的方法,如下所示:

loadedServlet.init(getServletConfig()) ;
loadedServlet.service(request, response) ;
除响应获得两次输出外,所有功能均按预期工作:

hello, world!hello, world!
不是已加载servlet的问题:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter printWriter = response.getWriter() ;
    printWriter.write("hello, world!") ;
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response) ;
}

如果这不够具体,很抱歉。有什么提示我应该看什么吗?

没关系,我自己找到了解决办法。 在调用servlet.service之后调用response.reset就是我所需要的

loadedServlet.service(request, response) ;
response.reset() ;