我希望 Servlet 始终执行相同的任务。不管是 GET 还是 POST。
目前,我只是从 doPost()
调用 doGet()
,效果很好。
然后我尝试覆盖 service()
方法,我认为它会以同样的方式工作。但事实并非如此!
代码以某种方式执行,但响应不生成网页:
response.getWriter();
response.println(string);
此代码适用于 doGet/doPost 方法,但不适用于服务。为什么?
小服务程序:
class MyWebServlet extends HttpServlet {
@Override
public void service(ServletRequest request, ServletResponse response) {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String string = "teststring";
out.println(string);
}
}
最佳答案
将 public void service(ServletRequest request, ServletResponse response)
更改为 public void service(HttpServletRequest request,HttpServletResponse response)
它应该可以工作。
关于java - 一个 servlet 如何总是执行相同的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12637084/