Servlet随笔

Servlet

历史

web开发:

​ web1.0 纯静态页面 html

​ web2.0 动态的 允许用户与网站进行交互

​ 动态脚本语言:

​ 1.asp 微软的 新的技术 .net 运行在window服务器 如lis服务器

​ 2.php 活跃的 适合做网站 草根语言 黄金组合:lamp

​ Linux + Apache + Mysql + php

​ 3.jsp java server pages --------前身 servlet

​ jsp1.0 早先的语法 脚本和html混合 <%这里允许写java代码%>,<%=表达式%>,<%!声明变量或方法!%>

​ jsp2.0 引入了jstl标签技术 核心标签 c标签 <c:set var = '‘name’'value =“张三”/ > sql标签操作数据库 fn标签功能函数 fmt标签格式化 x标签xml

​ web3.0 前后端分离

​ 前端框架 基于javascrpt/typescript Vue react angular

版本

​ 4.0.1之前 属于Apache下的 包名是javax.servlet…

image-20221110145239762

​ 4.0.2开始 属于Jakarta(Apache下的一个子组织)

image-20221110145337339

Servlet介绍

​ RIA 应用: rich internet application

​ 其他技术:

​ Adobe Flex----经过编译后成为flash flash动画

​ Siverlight 微软的

Servlet容器

​ 区分

​ 服务器:

​ 通常所说的Web副服务器,比如Apcahe,Nginx,IIS等,他们的功能往往都比较单一,只能提供http(s)服务,让用户访问静态资源(HTML文档,图片,CSS文件,JavaScript文件等),他们不能执行任何变成语言,也不能发那个文数据库,更不能让用户注册和登录.

​ 容器(包含服务器+servlet):

​ 要想运行servlet代码,还需要一种额外的部件,该部件必须支持Servlet规范,实现了servlet接口和一些基础类,这种部件就是Servlet容器.

​ 为了简化部署流程,Web容器往往也会自带Web服务器模块,提供基本的HTTP服务,如:Tomcat

Tomcat版本选择

image-20221110150139923

端口号

​ 默认为8080

​ localhost----对应本机地址----127.0.0.1

​ Tomcat正常运行的前提是jdk环境变量没有问题

Servlet接口

Servlet本身是一个java类,他的运行必须实例化

​ 实例化:

​ 在java中通过 new 来实例化

​ Servlet的实例化是由容器来实例化的(不再是程序员自己实例化),在容器启动时实例化

image-20221110165027704

JSP

​ 与页面相关的设置有三条指令:

​ page指令 设置与页面相关的信息 比如 :编码,内容类型…

​ include指令 包含其他页面 将其他页面的内容加载到当前页面

​ taglib指令 引入jstl标签库

注意:指令必须放到文档的最前面

指令语法:

<%@  指令  %>

image-20221110163422093

HttpServlet

image-20221111150229210

请求方法

restful api:

  • get 代表读操作
  • post 代表新增 资源
  • put 代表的修改资源
  • delete 代表删除资源

image-20221111150653776

​ get请求 参数显示在地址栏中 不能传递敏感参数(不安全),地址栏长度是有限制的,不能传递太多的参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9WRnt1Ed-1668511164590)(assets/202211111700676.png)]

​ post请求 参数不会显示在地址栏,更安全 以表单数据传递,参数的长度和大小不受限制

Servlet配置

​ xml配置

​ 通过在web.xml映射Servlet路径来访问

servletConfig

image-20221115160407009

XMl

xml一般值可扩展的标记语言,用来描述数据或配置文件

xml允许用户自定义标签:

<中国>
    <河南省>
        <郑州市>
            <开封>
            </开封>
        </郑州市>
    </河南省>
</中国>

一个严格,良好的xml文档 ,具有文档验证规则 规则:

​ 早期版本 DTD 文档类型定义 定义了xml文档中标签的规则(通俗说:xml文档中可以使用哪些标签,标签出现的顺序,标签的属性)

image-20221111152747366

元素限制符号说明:

  • ? 说明指定的元素最多出现一次
  • Servlet* 元素后边的* 代表元素可以出现任意次
  • 元素+ 代表元素至少出现一次

XML SCHEMA 是一种xml格式的 文档验证

servlet实例 创建时机

两种创建时机

  • 在访问的时候创建(默认)
  • 在容器启动的时候创建 需要配置

image-20221115174435919

load-on-startup元素

load-on-startup是web.xml中的一个节点,是servlet元素的子元素,用来标记servlet容器启动时是否初始化当前servlet,以及当前servlet的初始化顺序.

load-on-startup元素取值规则如下:

  • 它的取值必须是一个整数;
  • 当值小于0或者没有指定时,则表示容器在该servlet被首次请求时才会被加载;
  • 当值大于0或者等于0是,表示容器在启动时就会加载并初始化该servlet,取值越小,优先级越高;
  • 当取值相同时,容器就会自动选择顺序进行加载.
@WebServlet注解的loadOnStartup属性与web.xml中的load-on-startup元素相对应,取值的规则和汉译相同.
项目部署

image-20221115180724045

不包含war包

image-20221115180517824

包含war包

image-20221115180529347

war包是web项目的归档文件(类似于.zip压缩包),放到tomcat目录下,服务器会自动解压

@WebServlet注解

image-20221115185501886

@WebServlet注解和web.xml的优缺点

使用web.xml或@WebServlet注解都可以配置Servlet,两者各有优缺点

@WebServlet注解配置Servlet

  • 优点:@WebServle直接在Servlet类中使用,代码量少,配置简单.每个类只关注自身业务逻辑,与其他Servlet类互不干扰,适合多人同时开发
  • 缺点:Servlet较多时,每个Servlet的配置分布在各自的类中,不便于查找和修改

web.xml配置文件配置Servlet

  • 优点:集中管理Servlet的配置,便于查找和修改
  • 缺点:代码较繁琐,可读性不强,不易于理解
Servlet的生命周期

生命周期是指事物从创建到毁灭的过程.

Servlet也有生命周期Servlet的生命周期就是Servlet从创建到销毁的过程.Servlet的生命周期由Servlet容器管理,主要分为以下3个阶段.

  • 初始化阶段
  • 运行时阶段
  • 销毁阶段
软件结构

​ c/s结构 client server 客户端服务器

​ b/s结构 brower server 浏览器服务器 (通过浏览器访问的应用)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值