礼悟:
公恒学思合行悟,尊师重道存感恩。叶见寻根三返一,江河湖海同一体。
虚怀若谷良心主,愿行无悔给最苦。读书锻炼养身心,诚劝且行且珍惜。
javaEE:7
javaSE:1.8
JSTL:1.2.2
server:tomcat 8.5
explorer:Firefox
os:windows7 x64
ide:MyEclipse 2017
工程目录结构
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <servlet> <servlet-name>myFirstServlet</servlet-name> <servlet-class>jizuiku.web.servlet.MyServlet</servlet-class><!-- 执行的是这个类 --> </servlet> <servlet-mapping> <servlet-name>myFirstServlet</servlet-name> <!-- 两个name 相应就好 --> <url-pattern>/MyServletDemo</url-pattern><!-- 访问的是这个路径 --> </servlet-mapping> </web-app>
Servlet接口实现类的代码
package jizuiku.web.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * MyServlet的具体对象只有一个,属于单例模式。 * 然后 可以新建一个MyServletTwo类,即可以存在多个Servlet类 * 线程不安全的,效率高 * * @author 给最苦 * @version V17.10.20 */ public class MyServlet implements Servlet { /** * 生命周期方法 * 它会在Servlet对象被销毁之前,执行一次. * 展示Servlet对象留下的遗言 * 一般会在服务器关闭的时候,才会执行 * * */ @Override public void destroy() { // TODO Auto-generated method stub System.out.println("执行destroy()..."); } /** * 获取Servlet的配置文件 * * */ @Override public ServletConfig getServletConfig() { // TODO Auto-generated method stub System.out.println("执行getServletConfig()..."); return null; } /** * 获取Servlet的信息 * * @return 返回对Servlet的描述信息 * */ @Override public String getServletInfo() { // TODO Auto-generated method stub System.out.println("执行getServletInfo()..."); return null; } /** * 生命周期方法,由tomcat来调用 * 它会在Servlet对象出生后,执行一次. * * @param config tomcat负责传入这个参数 * */ @Override public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub System.out.println("执行init()..."); } /** * 生命周期方法 * 会被调用多次,每次处理请求都是在调用service方法 * 浏览器 进入一次指定的地址就会 调用service方法 * * */ @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("执行service()..."); } }
效果
开启服务器
使用浏览器访问指定页面一次
控制台输出的变化
再次访问指定页面一次
目前 浏览器访问了指定页面两次
浏览器关闭所有页面,servlet类没有执行 destory()方法
关闭服务器,servlet类 执行destory()方法
学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。