• 【Servlet】超详细开发步骤|在idea上配置Tomcat|网页显示当前系统时间


    ✅作者简介:热爱后端语言的大学生,CSDN内容合伙人
    ✨精品专栏:C++面向对象
    🔥系列专栏:JavaWeb


    🔥前言

    读者朋友大家好,今天开始分享总结有关Servlet 的知识,今天的内容是初识Servlet,书写开发步骤、配置Tomcat、以及在网页上显示当前系统时间等。让我们来认识Servlet 的本质,享受沉浸式学习的成就吧!

    1、为什么要学习Servlet?

    因为单纯的HTML是一个静态页面,在实际开发中会面临很多的非静态资源的显示场景,此时HTML+CSS将无法完成此类需求,因此需要结合起来能够进行逻辑判断的java代码。

    Servlet 就是一个可以生成动态页面的技术

    Servlet 项目对应的是javaweb项目

    1.1、javaweb项目的创建步骤

    跟着下面的步骤来创建javaweb项目并正确导入Servlet包:

    1. 创建java项目找到图示选项在这里插入图片描述
    2. 进入后勾选Web并选中Create web.xml,点击OK
      在这里插入图片描述
    3. WEB-INF里创建lib目录,用来存放一些必要的jar包:servlet-api.jar(在Tomcat的lib目录)
      在这里插入图片描述

    2、第一个Servlet 程序

    开发步骤:

    1. 书写Servlet代码
      • 继承HttpServlet
      • 获取当前系统时间
      • 将得到的时间放入html页面
    2. 配置Servlet 的对外访问路径
      • 通过web.

    2.1、编写Servlet类(超详细流程)

    • 编写该类并不是靠名字,而是要实现Servlet 接口,但是该接口中只有service方法需要我们维护,但是还有其他四种方法我们是用不上的,因此直接实现该接口是不合理的。
    • GenericService类帮我们实现了Servlet 接口,重写了另外四个不需要我们维护的方法,只保留一个service方法需要重写。但是考虑到该方法与浏览器协议无太大关系,因此也不能继承该抽象父类。
    • 实际上,我们要继承HttpServlet类,重写service方法即可
      • 有两个service方法,一定要选择自带http参数的方法
        在这里插入图片描述
      • reqrequest的缩写,是对请求的处理,后续文章会有实战详解
      • resprespond的缩写,是用来响应页面的,后续也会有解释
    • 使用日期类获取当前系统时间:Date date=new Date();
    • 浏览器再得到html代码后将其解释执行从而可以搭建页面,因此我们要使用java来把这些代码送到浏览器外部,那么我们使用什么呢?我们选择输出流:
      • 书写html代码:String html = "当前系统时间为:" + date + "";
      • PrintWriter pw = resp.getWriter();
        • 通过pw.println(html)将代码送到浏览器外部,交给浏览器解释执行
      • 设置流的编码方式和响应类型:
        • 设置流的编码方式:resp.setCharacterEncoding("UTF-8");
        • 设置响应类型,方便浏览器解析:resp.setContentType("text/html");
      • 关流:pw.flush();
        • 这里不使用pw.close(),这是因为关闭由Tomcat服务器控制,请接着往下看。
    • 全部代码一览:
      在这里插入图片描述

    2.2、配置Servlet 的对外访问路径

    2.2.1、在web.xml中配置

    请看下图:

    在这里插入图片描述

    • 一定要在web-app标签内配置访问路径,且一定要有servletservlet-mapping标签。
    • servlet标签:
      • name标签一般写该类的名称,当然也可以随便写
      • class标签用来存放权限定名(一般是从包名到类名)
    • servlet-mapping标签:
      • name标签必须和servlet标签里的name一致
    • url-pattern标签里存放对外访问的路径,必须先以/开头

    2.2.2、 注解开发

    可以使用@WebServlet注解直接在类中配置该类的访问路径
    例如:@WebServlet("/time")

    在这里插入图片描述

    ps:可与web.xml中配置的访问路径同时存在,但是路径不能完全一致(谨记)

    3、配置Tomcat

    按照图示顺序:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ps:将下方光标选中的部分删掉即可,这样是为了方便写访问路径


    4、运行效果和乱码解决方案

    运行效果:

    在这里插入图片描述


    乱码解决步骤:

    1. 找到图中所示选项
      在这里插入图片描述
    2. 添加上15行位置的代码
      在这里插入图片描述
    3. 修改Tomcat配置,加上刚才添加的代码
      在这里插入图片描述

    那么一个简单又充实的第一个Servlet程序就完成了,从零到一在网页上显示系统时间虽然简单,但也很有趣不是吗?码文不易,还请大家多多点赞支持~

  • 相关阅读:
    现代循环神经网络-门控循环单元(GRU)
    UWB室内定位技术
    【C++】引用’&‘的深入解析
    Mongodb实验二——分片集群搭建
    react 实现监听逻辑
    ​Unity Vuforia 新手(图片识别)教程,后续整理 实体识别 详细流程
    git命令
    js ajax返回判断
    HTML5学习系列之项目实战1
    程序猿大战Python——实现简单的图书馆系统操作
  • 原文地址:https://blog.csdn.net/m0_58618795/article/details/126959595