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

来源:互联网 发布:衣着判断 知乎 编辑:程序博客网 时间:2024/06/05 14:17
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>
0 0