sever applet
概念:运行在服务器端的小程序
servelet就是一个接口,定义了java类被浏览器访问到(Tomcat识别)的规则
将来我们自定义一个类,实现servelet接口,复写方法。
快速入门:
1.创建java ee项目
2定义一个类,实现servlet接口
public class servlet快速入门 implements Servlet
3实现接口中的抽象方法;
4配置servlet
在web.xml中配置文件
<!--配置servlet--> <servlet> <servlet-name>demo01</servlet-name> <servlet-class>servlet.servlet快速入门</servlet-class> </servlet> <servlet-mapping> <servlet-name>demo01</servlet-name> <url-pattern>/demo01</url-pattern> </servlet-mapping></web-app>servlet执行原理1当服务器接收到客户端浏览器的请求之后,会解析url路径,获取访问的servlet的资源路径,2查找web.xml 文件,是否有对应的<url-pattern>标签体内容3如果有则找到对应的<servlet-class>全类名4Tomcat会将字节码文件加载进内存,并且创建其对象5调用其方法生命周期1被创建 执行init方法 只执行一次什么时候被创建:默认情况下,第一次被访问时被创建可以配置执行servlet的创建时机
<!--配置servlet--><servlet> <servlet-name>demo02</servlet-name> <servlet-class>servlet.servlet方法讲解</servlet-class> <!--指定servlet创建时机 1.第一次被访问时创建 load-on-starup的值默认为负数 2在服务器启动时创建 load-on-starup 值为0或者正整数 --> <load-on-startup>5</load-on-startup></servlet>
servlet的init方法只执行一次,说明一个servlet在内存中只存在一个对象,Servlet是单例的 多个用户同时访问时,可能存在线程安全问题 解决方案:尽量不要在servlet中定义成员变量。即使定义了成员变量也不要对其修改值;2提供服务 执行 service方法 执行多次 每次访问servlet时,都会执行一次3被销毁 执行destroy方法 销毁之前执行
服务器只有正常关闭时才会执行destroy方法,一般用于释放资源Servlet3.0 :1 好处: 支持注解配置,不要web.xml步骤: 1创建java EE项目。选择servlet3.0版本以上,可以不创建web.xml 2实现一个类,实现servlet接口 3复写方法 4在类上使用@webServlet注解,进行配置
@WebServlet(urlPatterns = "资源路径")//@WebServlet(value = "/demo")//@WebServlet("/demo")IDEA与Tomcat的相关配置1IDEA会为每一个Tomcat部属的项目单独建立一份配置文件查看控制台的lo:using CATALINA_BASE:"C:\Users\fqy"2工作空间项目 和 Tomcat web项目Tomcat 真正访问的是“Tomcat web项目”对应着工作空间项目”的web目录下的所有资源;WEB-INF目录下的资源不能被浏览器访问;断点调试:使用小虫子启动