1、初步入门:html
init 方法被设计成只调用一次。它在第一次建立 Servlet 时被调用,在后续每次用户请求时再也不调用。浏览器
service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。服务器
每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。ide
service() 方法由容器调用,service 方法在适当的时候调用 doGet、doPost、doPut、doDelete 等方法。因此,您不用对 service() 方法作任何动做,只须要根据来自客户端的请求类型来重载 doGet() 或 doPost() 便可。post
doGet() 和 doPost() 方法是每次服务请求中最经常使用的方法:分别用来响应来自客户端即浏览器端的get和post请求。编码
在doGet() 和 doPost() 方法中通常要调用url
HttpServletRequest request,HttpServletResponse response
利用这两个对象中的方法来实现想达到的功能。spa
eg:线程
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应内容类型 response.setContentType("text/html"); // 实际的逻辑是在这里 PrintWriter out = response.getWriter(); out.println("<h1>" + message + "</h1>"); }
不少状况下,须要传递一些信息,从浏览器到 Web 服务器,最终到后台程序。浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法。设计
GET 方法向页面请求发送已编码的用户信息。页面和已编码的信息中间用 ? 字符分隔,以下所示:
http://www.test.com/hello?key1=value1&key2=value2
POST 方法打包信息的方式与 GET 方法基本相同,可是 POST 方法不是把信息做为 URL 中 ? 字符后的文本字符串进行发送,而是把这些信息做为一个单独的消息。消息以标准输出的形式传到后台程序,您能够解析和使用这些标准输出。Servlet 使用 doPost() 方法处理这种类型的请求。
Servlet 处理表单数据,这些数据会根据不一样的状况使用不一样的方法自动解析:
getParameter():调用 request.getParameter() 方法来获取表单参数的值。
getParameterValues():若是参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
getParameterNames():若是您想要获得当前请求中的全部参数的完整列表,则调用该方法。