我需要使用外部配置文件转发到主servlet中自定义类加载器从jar动态加载的servlet。 servlet本身未映射到web.xml中。 我已经能够加载servlet并使用反射和转换构建一个新实例:
Object o = loadedClass.newInstance() ;
HttpServlet loadedServlet = (HttpServlet) o ;
我已将servlet初始化为:
loadedServlet.init(getServletConfig()) ;
然后在主servlet中实现每个do ...方法:
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) ;
}
很抱歉,如果这还不够具体。我应该看一下什么提示?
答案 0 :(得分:0)
没关系,我自己找到了解决方案。 在调用servlet.service()之后调用response.reset()就是我所需要的。
loadedServlet.service(request, response) ;
response.reset() ;