概念:运行在服务端的小程序
创建步骤:
1.创建javaEE项目
2.定义一个类,实现Servlet接口
3.实现接口中的抽象方法
在server方法实现输出:
4.在web.xml中配置Servlet
<!--配置servlet--> <servlet> <servlet-name>demo1</servlet-name> <servlet-class>web.servlet.servletDemo1</servlet-class> <!--路径--> </servlet> <!--映射--> <servlet-mapping> <servlet-name>demo1</servlet-name> <url-pattern>/demo1</url-pattern> </servlet-mapping>
执行原理:
当服务器接收到浏览器的请求后,会解析其URL(http://localhost:8080/demo1),根据localhost找到主机,8080找到tomcat软件,再通过demo1找到xml文件的url-pattern找到是否含有demo1的标签;如果有那么在mapping映射中与servlet中观察值是否相同,再根据servlet-class文件的类加载路径,tomcat会实现反射(Class.forName加载字节码文件,newInstance方法创建其对象,调用其方法(servlet))
servlet的生命周期:
init方法只能执行一次,说明一个Servlet在内存中只存在一个对象,说明Servlet是单例的
可能出现的问题:多个用户同时访问时,可能存在线程安全问题(如对同一个属性修改)
解决:尽量不要在Servlet中定义成员变量;即使定义了成员变量,也不要对其修改值(最好只能获取值)
servlet何时被创建?
destory方法:只有服务器正常关闭时,才会执行destory方法;先执行destory方法,servlet才能被销毁。一般用于销毁资源
原文:https://www.cnblogs.com/laurarararararara/p/12292151.html