Servlet中Service方法

doGet方法只能处理Get方式提交的请求,doPost则可以处理Post方式提交的请求,

一种既可以处理Get方式又可以处理Post方式的提交的请求,它就是Service方法。

service方法用来处理客户端浏览器直接访问和表单以get方式提交以及表单以post方式提交的情况。

 

首先说表单的写法(这里说的是常规写法):

<form action="ServiceDemo" method="post">

用户名:<input type="text" name="username"/><br>

密码:<input type="password" name="password"/><br>

<input type="submit" value="提交"/>

<input type="reset" value="重置"/>

</form>

相对应的Servlet写法(因为篇幅问题,我省略了包导入语句):

 1 public class ServiceDemo extends HttpServlet {
 2 
 3   protected void service(HttpServletRequest request, HttpServletResponse response)
 4 
 5 throws ServletException, IOException {
 6 
 7 response.setContentType("text/html;charset=gb2312");
 8 
 9 PrintWriter out = response.getWriter();
10 
11 request.setCharacterEncoding("gb2312");
12 
13 String username = request.getParameter("username");
14 
15 String password = request.getParameter("password");
16 
17 out.println("<html>");
18 
19 out.println("<body>");
20 
21 out.println("用户名:" + username + "<br>");
22 
23 out.println("密码:" + password);
24 
25 out.println("</body>");
26 
27 out.println("</html>");
28 
29 }
30 
31 }

其实,这个service方法的用法与前面的doGet与doPost方法的用法完全一样,

它实现了对这两种提交方式的处理,只要在代码中实现了这个方法,具体的调用过程

由Web容器去处理。

原文地址:https://www.cnblogs.com/tdcqma/p/4844879.html