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>