[Jweb] 在 servlet 中重写 service() 方法,不重写 doGet, doPost 方法,示例。

tomcat 会帮忙调用service方法
void service() 方法会调用 
  protected void service(HttpServletRequest req, HttpServletResponse resp);
  这个 service 方法会分发给 doGet 与 doPost , 所以一般都不直接写这个 service()
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        PrintWriter out = resp.getWriter(); // 这个打印流,自动 flush
        out.println("<html><head><title></title></head><body>hello world a!!!</body></html>");
        out.flush();
        out.close();
    }

    /*
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("doPost...");
        doGet(req, resp);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)   // tomcat 帮忙调用这个 doGet这个方法
            throws ServletException, IOException {
        System.out.println("doGet...");
        PrintWriter out = resp.getWriter(); // 这个打印流,自动 flush
        out.println("<html><head><title></title></head><body>hello world !!!</body></html>");
        out.flush();
        out.close();
           /*
            * HttpServletRequest req 在这个对象里面封装了客户端到服务器端一切的请求  ,  比方说是 客户端的IP是什么,参数什么的。。。
              HttpServletResponse resp 服务器端给客户端发的东西,都封装在这,就都能发给客户端啦 */
        
    //}
   //
    // 有 tomcat 提供这个 doGet 方法,咱们省事多了,要不还得自己实现 socket...
}
<form action=http://127.0.0.1:8888/my/HelloWorldServlet method=post>      <!--   /my/HelloWorldServlet method=post> 这样写也可以   -->
 <input type=text name=test>
 <input type=submit value="提交">
</form>
原文地址:https://www.cnblogs.com/robbychan/p/3786564.html