package cn.zzsxt.lee.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @description servlet也是一个普通的Java类 继承了HttpServlet就变的不普通 servlet是什么?-->Java类 * 用于在http协议中,进行数据的传递 干什么用的? 处理客户端发送的请求 * @author Seven Lee * @date 2017年7月17日下午4:20:30 * * servlet生命周期:(单例)(!!重要) * 1.加载并实例化(创建servlet对象) * 2.初始化(init)(只会被调用一次,第一次访问servlet的时候调用) * 3.处理客户端的请求并响应(service) * 4.自动销毁(destroy)(也只会被调用一次,在正常关闭以后会被调用) * */ public class FirstServlet extends HttpServlet { // 连接数据库,进行把用户的信息存储入数据,并返回用户是否存储成功 @Override public void init() throws ServletException { // init方法只会被调用一次,第一此访问servlet的时候会被调用 System.out.println("我是init方法,我被调用了"); } @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // service方法每发送一次请求就被调用一次 // request-->请求:处理客户端发送到服务器的请求 // response-->响应:处理完请求以后,向客户端进行响应(404, 500...),如果成功200 OK System.out.println("我是service方法,我被调用了"); // 设置编码格式 request.getRequestDispatcher("index.jsp").forward(request, response); } @Override public void destroy() { // destroy方法也只会被调用一次 // 服务器关闭的时候,客户端关闭连接的时候,处理完所有客户端请求的时候(正常关闭),非正常关闭的情况下是不被调用的 System.out.println("我是destroy方法,我被调用了"); } }
修改web.xml文档:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>first_servlet</display-name> <servlet> <servlet-name>servlet</servlet-name><!-- servlet-name是随意规定的,没有任何限制,命名规则同样遵循Java的驼峰命名规则 --> <servlet-class>cn.zzsxt.lee.servlet.FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet</servlet-name><!-- servlet-mapping中servlet-name要和<servlet>中的一模一样 --> <!-- <url-pattern>/reg</url-pattern> --><!-- 就是访问servlet的路径,只有通过这个路径才能访问servlet --> <url-pattern>*.aaa</url-pattern><!-- 以aaa结尾的方式进行匹配servlet --> <!-- <url-pattern>/ccc/*</url-pattern> --><!-- 以ccc开头来匹配servlet --> <url-pattern>/*</url-pattern><!-- 所有的路径都要被servlet进行拦截 --> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
localhost:8080/项目名:查看index.jsp
localhost:8080/项目名/reg(各种访问方式) :通过访问网页对将数据传送到后端控制台
3.Servlet Life Cycle:
java:Servlet(Create,LifeCycle,交互式,Tomcat文件分析)
原文:http://www.cnblogs.com/kuangzhisen/p/7197542.html