码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Servlet 学习笔记(一)


    Servlet 入门

    • 两种架构
      • C/S 架构
      • B/S 架构
    • Tomcat 安装
    • Tomcat 启动和停止
    • 项目部署及访问静态资源
      • 创建项目
      • 访问
    • 什么是 Servlet
      • Servlet 作用
      • 开发步骤
      • IDEA 开发 Servlet实现部署、访问
    • 项目打包
    • HTTP 协议
      • 概念
      • 特点
      • 通信流程
      • 请求报文与响应报文

    学习内容来自 B站千峰Java视频

    两种架构

    • C/S 架构,即 Client/Server 架构
    • B/S 架构,即 Browser/Server 架构

    C/S 架构

    特点:必须在客户端安装特定软件

    优点:图形显示效果好

    缺点:服务器的软件和功能进行升级,客户端也必须升级,不利于维护

    B/S 架构

    特点:无需安装客户端,通过浏览器访问即可;需要通过 HTTP 协议访问

    优点:软件和功能进行升级时更新服务器即可,利于维护

    缺点:图形显示效果不如 C/S

    常见的 Web 服务器
    在这里插入图片描述

    Tomcat 安装

    1. 下载
      进入官网选择想要的版本下载
      在这里插入图片描述
    2. 下载后解压缩,目录结构如下
      在这里插入图片描述
      在这里插入图片描述

    Tomcat 启动和停止

    双击 bin/startup.bat 文件启动
    在这里插入图片描述
    启动后,在浏览器中输出 localhost:8080 查看
    在这里插入图片描述
    双击 shutdown.bat 文件即可关闭
    在这里插入图片描述

    项目部署及访问静态资源

    Tomcat 是 web 服务器,项目都部署在 webapps 下,然后通过特定的 URL 访问

    创建项目

    在这里插入图片描述

    访问

    1. 使用 startup.bat 打开 tomcat
    2. 在浏览器输入 localhost:8080/myweb/hello.html

    什么是 Servlet

    • Servlet 是 JavaEE 规范接口之一
    • Servlet 是 JavaWeb 三大组件之一
    • Servlet 是运行在服务器上的一个 java 小程序,接收客户端发送的请求,并响应数据给客户端

    在这里插入图片描述

    Servlet 作用

    在这里插入图片描述

    开发步骤

    1. 搭建开发环境
      将
    2. 编写 Servlet

    在这里插入图片描述
    在这里插入图片描述

    1. 部署 Servlet
      在这里插入图片描述

    2. 配置 Servlet
      在这里插入图片描述
      在这里插入图片描述

    3. 运行测试
      在这里插入图片描述

    IDEA 开发 Servlet实现部署、访问

    这里因为使用的是 IDEA 2021.2,参考了这篇博客

    创建后的项目结构为:
    在这里插入图片描述

    1. 创建 Servlet 的实现类
    
    public class MyServlet implements Servlet {
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {
    
        }
    
        @Override
        public ServletConfig getServletConfig() {
            return null;
        }
    
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("my first servlet web project");
            System.out.println(new Date());
        }
    
        @Override
        public String getServletInfo() {
            return null;
        }
    
        @Override
        public void destroy() {
    
        }
    }
    
    
    1. 添加配置
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <servlet>
            <servlet-name>my</servlet-name>
            <servlet-class>com.sict.servlet.MyServlet</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>my</servlet-name>
            <url-pattern>/myservlet</url-pattern>
        </servlet-mapping>
    </web-app>
    
    
    1. 在 IDEA 中运行

    在这里插入图片描述

    项目打包

    war 包
    在这里插入图片描述

    1. 打开 Project Structure,进入 Artifacts
      在这里插入图片描述
    2. 如图
      在这里插入图片描述
    3. 选择右下角的 apply,然后点击 ok
    4. Build
      在这里插入图片描述
      在这里插入图片描述
      此时 build 好的 war 包在 out 目录下
      在这里插入图片描述
      接下来将 war 包放入 tomcat 容器即可

    HTTP 协议

    概念

    在这里插入图片描述

    特点

    在这里插入图片描述

    通信流程

    在这里插入图片描述

    请求报文与响应报文

    • 请求报文
      在这里插入图片描述
      例子:
      在这里插入图片描述

    • 响应报文
      在这里插入图片描述
      例子
      在这里插入图片描述

  • 相关阅读:
    Java程序设计——枚举(Java高级应用)
    UE 智能指针的介绍
    Primavera Unifier 报表管理系统 (再次总结)
    hadoop集群搭建
    共同应对共享挑战:2023 Open Source Congress 报告(中文版)
    java毕业设计电子存证系统mybatis+源码+调试部署+系统+数据库+lw
    mysql 5.7在线开启/关闭GTID
    Python利用A*算法解决八数码问题
    智慧城市平台的技术路线和系统要求
    宋浩高等数学笔记(一)函数与极限
  • 原文地址:https://blog.csdn.net/csdn_muxin/article/details/125054075
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号