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

本文展示了如何在Servlet中重写`service()`方法,以处理HTTP的GET和POST请求,而不直接覆盖`doGet()`和`doPost()`。通过`service()`方法,Tomcat会自动分发请求到相应的`doGet()`或`doPost()`。示例代码中,`service()`方法实现了响应'hello world a!!!',并且提供了注释说明了`HttpServletRequest`和`HttpServletResponse`的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值