Java Web02之深入servlet

    xiaoxiao2021-03-25  180

    servlet(重点)

    Servlet是运行在服务器端的java小程序 我们创建的一个类要是Servlet,则它必须直接或者间接实现Servlet 如何创建一个Servlet

    图片总结:Servlet(曾祖父) –> GenericServlet( 爷爷 ) –> HttpServlet(爸爸 ) (继承HttpServlet( 孙子))

    Servlet的创建方式:(掌握) 创建Servlet的三种方式

    1.直接创建一个类实现Servlet接口,实现接口的方法 2.创建一个类继承GenericServlet抽象类,实现抽象类的方法 3.创建一个类继承HttpServlet(常用)

    方式1:直接实现Servlet接口步骤(掌握) 1. 创建一个类实现Servlet接口,并且实现接口中的方法

    public class FirstServlet implements Servlet{ private ServletConfig config = null; @Override public void init(ServletConfig config) throws ServletException { System.out.println("init方法执行了"); this.config = config; } @Override public ServletConfig getServletConfig() { return this.config; } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { System.out.println("service方法执行了"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { System.out.println("servlet销毁了"); } }

    2.在web.xml中添加Servlet的配置信息

    <servlet> <servlet-name>FirstServlet</servlet-name> <servlet-class>com.chinasofti.servlet.FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>FirstServlet</servlet-name> <url-pattern>/First</url-pattern> </servlet-mapping>

    方式3:使用继承HttpServlet方式创建Servlet的步骤:

    1)编写java类,继承HttpServlet类 2)重新doGet和doPost方法 3)Servlet程序交给tomcat服务器运行!! >3.1 servlet程序的class码拷贝到WEB-INF/classes目录 >3.2 在web.xml文件中进行配置 url的组成

    http://localhost:8080/3.3Pro/First 协议 主机名 端口

    当浏览器输入http://localhost:8080/3.3Pro/First的时候,为什么servlet代码会执行呢?(掌握)

    1.当我们在浏览器输入以上网址的时候,浏览器会向服务器发送请求,请求的网址就是上面的网址

    2.服务器接收到请求之后,首先会/First 截取下来,然后从web.xml中查看是否有匹配的url-pattern

    3.如果有存在的url-pattern,则找到url-pattern对应的servlet-name,然后根据servlet-name找到具体的类

    4.通过反射技术来创建这个类的对象,然后这个对象就可以工作了

    关于url-pattern匹配的路径:(掌握)

    精确的路径: /First /First/xxx (注意点:/不能漏掉)

    模糊的路径: /* .do .action

    当输入的url有多个url-pattern匹配的时候,绝对匹配> /开头的模糊匹配>*.do结尾的模糊匹配

    关于DefaultServlet:(掌握) 如果我们输入的网址是localhost:8080/3.3Pro/index.html

    1.会从web.xml中查看是否有匹配index.html的url-pattern 2.如果没有,则会交给tomcat内置的一个叫做DefaultServlet来处理这个请求 3.DefaultServlet会从当前的web应用查找是否用index.html这个静态页面,如果有,则返回,如果没有则404错误

    Servlet的生命周期:(掌握) 生命周期的四个方法:

    1.构造方法 : 无论访问多少次,构造方法只会执行一次 (说明servlet对象是单实例的) 2.init方法 : 也会只执行一次 3.service方法 : 浏览器每访问一次,就会执行一次 4.destory方法 : 停止服务器或者重新部署应用的执行

    关于Servlet的自动加载 : 启动tomat服务器的时候就创建servlet对象,对该对象进行初始化(掌握)

    <servlet> <servlet-name>FirstServlet</servlet-name> <servlet-class>com.chinasofti.servlet.FirstServlet</servlet-class> <load-on-startup>1</load-on-startup> //值越高 ,优先级越低 </servlet> <servlet-mapping> <servlet-name>FirstServlet</servlet-name> <url-pattern>/First</url-pattern> </servlet-mapping>

    关于GenericServlet中的init方法(了解)

    注意:在GenericServlet中有两个init方法,一个是来自父接口(Servlet)中的init方法,这个方法在GenericServlet中已经被实现过了,所以GenericServlet子类无需再去实现该方法。

    如果GenericServlet子类还需要再去做一些初始化工作,则直接重写GenericServlet类中的另外一个init方法就可以 (public void init() throws ServletException)

    转载请注明原文地址: https://ju.6miu.com/read-8204.html

    最新回复(0)