javaweb servlet详解
servlet详解
1.快速入门
1.1 pom.xml 加入依赖
<dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> <version>4.0.1</version> </dependency> </dependencies>
1.2 打包改成
<packaging>war</packaging>
1.3 main 创建 java、resources
创建HelloServlet
package com.cj.servlet; import javax.jws.WebService; import javax.servlet.*; import javax.servlet.annotation.WebServlet; import java.io.IOException; @WebServlet("/demo") public class HelloServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("进入servlet"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }
2.调用
2.1 web服务调用servlet,servlet执行service
3.生命周期
3.1 加载和实例化: 当servlet第一次被访问时,容器创建servlet
3.2 初始化:servlet实例化之后,容器将调用servlet的init()
3.3 访问service: 每次servlet都调用service
3.4 销毁
package com.cj.servlet; import javax.jws.WebService; import javax.servlet.*; import javax.servlet.annotation.WebServlet; import java.io.IOException; @WebServlet(urlPatterns="/demo",loadOnStartup = 1) public class HelloServlet implements Servlet { /** * 调用时机:默认第一次访问的时候调用 * 调用次数:一次 * @param servletConfig * @throws ServletException */ @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("init..."); } @Override public ServletConfig getServletConfig() { return null; } /** * 调用时机:每一次servlet被访问时 * 调用次数:多次 * @param servletRequest * @param servletResponse * @throws ServletException * @throws IOException */ @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("进入servlet"); } /** * 调用时机:每一次servlet被访问时 * 调用次数:多次 * @return */ @Override public String getServletInfo() { return null; } @Override public void destroy() { System.out.println("销毁"); } }
4 HttpServlet
package com.cj.servlet; import javax.servlet.*; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(urlPatterns="/demo4",loadOnStartup = 1) public class demo4 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("get..."); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("post..."); } }