servlet实现(动态资源文件)
第一步:创建java类,继承了父类才是动态资源:
public class servletTest01 extends HttpServlet {
}
HttpServlet继承了GenericServlet类
public abstract class HttpServlet extends GenericServlet {}
GenericServlet和httpS都是抽象类,抽象类的作用就是降低接口实现类对接口实现的难度!
比如说,一个接口他有很多的方法,去使用接口的时候,又要重新实现所有的接口就比较复杂,这个时候就可以创建一个抽象类,抽象类去实现接口里的方法,但是你可以挑自己需要的去实现。抽象类的子类必须要实现抽象类的抽象方法,自我参考如下:
https://blog.csdn.net/weixin_29469195/article/details/114559408
GenericServlet实现了接口中的方法但还是保留了service类的抽象方法,由子类HttpServlet去实现,HttpServlet里方法如果他是一个get就实现get操作,如果是一个post就实现post的操作。
第二步:已知浏览器发送请求给tomcat服务器的时候,会创建servlet接口,实例化一个servlet对象,然后实例化对象会调用service();方法
eg:Servlet s=new 自己写的类();
s.service();
HttpServlet子类继承GenericServlet类,GenericServlet实现了sevice方法。
子类就算没有写这个方法也可以调用父类的方法,父类的service方法看你调用的是post还是get或者是各种method的实现方式是啥,然后再去调用doget或者dopost,所以你写子类的时候只需要再把父类的doget()dopost()
根据自己的想法重写就可以了 。
第三步:注册在web-INF下面有个web.xml文件,在里面写配置信息。
<servlet>
<!--写类名-->
<servlet-name>servletTest01</servlet-name>
<!-- 把实现类路径给tomcat-->
<servlet-class>study.Servlet.servletTest01</servlet-class>
</servlet>
<servlet-mapping>
<!-- 设置类名的别名-->
<servlet-name>servletTest01</servlet-name>
<!--设置简短的网页请求名字,必须以斜线为开头-->
<url-pattern>/firstServlet</url-pattern>
</servlet-mapping>