• Servlet


    一、Servlet简介

    •  Servlet是JavaWeb最为核心的内容,它是Java提供的一门动态web资源开发技术
    • 使用Servlet就可以实现,根据不同的登录用户在页面上动态显示不同内容
    • Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并由Web服务器运行Servlet

    1.1 快速入门

    需求分析: 编写一个Servlet类,并使用IDEA中Tomcat插件进行部署,最终通过浏览器访问所编写的Servlet程序

    具体的实现步骤为:

         1. 创建Web项目web-demo,导入Servlet依赖坐标

    1. <dependency>
    2. <groupId>javax.servlet</groupId>
    3. <artifactId>javax.servlet-api</artifactId>
    4. <version>3.1.0</version>
    5. <!--
    6. 此处为什么需要添加该标签?
    7. provided指的是在编译和测试过程中有效,最后生成的war包时不会加入
    8. 因为Tomcat的lib目录中已经有servlet-api这个jar包,如果在生成war包的时候生效就会和Tomcat中的jar包冲突,导致报错
    9. -->
    10. <scope>provided</scope>
    11. </dependency>

         2. 创建:定义一个类,实现Servlet接口,并重写接口中所有方法,并在service方法中输入一句话

    1. package com.learn.web;
    2. import javax.jws.WebService;
    3. import javax.servlet.*;
    4. import javax.servlet.annotation.WebServlet;
    5. import java.io.IOException;
    6. /**
    7. * @author 咕咕猫
    8. * @version 1.0
    9. */
    10. @WebServlet("/demo1")
    11. public class ServletDemo1 implements Servlet {
    12. @Override
    13. public void init(ServletConfig servletConfig) throws ServletException {
    14. }
    15. @Override
    16. public ServletConfig getServletConfig() {
    17. return null;
    18. }
    19. @Override
    20. public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    21. System.out.println("Servlet,Hello world~");
    22. }
    23. @Override
    24. public String getServletInfo() {
    25. return null;
    26. }
    27. @Override
    28. public void destroy() {
    29. }
    30. }

         3. 配置:在类上使用@WebServlet注解,配置该Servlet的访问路径

    @WebServlet("/demo1")

         4. 访问:启动Tomcat,浏览器中输入URL地址访问该Servlet

    http://localhost:8080/web-demo/demo1

         5. 浏览器访问后,在控制台会打印servlet hello world~ 说明servlet程序已经成功运行。

    二、执行流程

    • 浏览器发出http://localhost:8080/web-demo/demo1请求,从请求中可以解析出三部分内容,分别是localhost:8080web-demodemo1

            ○根据localhost:8080可以找到要访问的Tomcat Web服务器

            ○根据web-demo可以找到部署在Tomcat服务器上的web-demo项目

            ○根据demo1可以找到要访问的是项目中的哪个Servlet类,根据@WebServlet后面的值进行匹配

    • 找到ServletDemo1这个类后,TomcatWeb服务器就会为ServletDemo1这个类创建一个对象,然后调用对象中的service方法

            ○ServletDemo1实现了Servlet接口,所以类中必然会重写service方法供Tomcat Web服务器进行调用

            ○service方法中有ServletRequest和ServletResponse两个参数,ServletRequest封装的是请求数据,ServletResponse封装的是响应数据,后期我们可以通过这两个参数实现前后端的数据交互

    小结:

            1. Servlet由谁创建?Servlet方法由谁调用?

    答:Servlet由Web服务器创建,Servlet方法由Web服务器调用

            2. 服务器怎么知道Servlet中一定有service方法?

    答:因为我们自定义的Servlet,必须实现Servlet接口并复写其方法,而Servlet接口中有service方法

  • 相关阅读:
    计算机毕业设计微信小程序地摊租赁管理平台
    Map集合
    GEE ——绘制二元分类的特征 (ROC) 曲线、计算曲线下面积 (AUC)
    Spring 源码(5)BeanFactory使用的准备及自定义属性值解析器
    如何解决DNS解析错误
    threejs 初始化
    Apache IoTDB 分布式架构三部曲(二)分片与负载均衡
    [附源码]计算机毕业设计JAVA学生信息管理系统
    Python实战项目-7发送验证码/短信登录/短信注册接口
    git rebase与git merge图文详解(一文看懂区别)
  • 原文地址:https://blog.csdn.net/weixin_61843013/article/details/125537286