IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> JavaWeb补充(1):Servlet最基础入门内容,只能达到会用 -> 正文阅读

[PHP知识库]JavaWeb补充(1):Servlet最基础入门内容,只能达到会用

Servlet基础入门内容

体系结构

  • CS结构:(Client Server)客户端+服务器的方式,需要在客户端单独安装应用
  • BS结构:(Browser Server)浏览器+服务器的方式
    • 定义:B/S体系结构是将系统功能实现的核心部分集中到服务器,通过浏览器访问的软件体系结构
    • 只需要安装一个浏览器
B/S体系结构C/S体系结构
软件安装浏览器需要安装客户端软件
升级维护客户端零维护客户端要单独维护和升级
平台相关与操作系统的关系最小对客户端操作系统有限制
性能安全在响应速度和安全性需要花费更多成本能充分发挥客户端处理能力客户端响应快

B/S体系结构采用请求/响应模式进行交互

Web应用服务器:Tomcat

定义:Web应用服务器(WWW服务器)是提供网上信息浏览服务的服务器。

种差(内涵):1. 发布网站;2.提供信息浏览服务

常见Web服务器

  • Apache:Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的Web应用服务器。是世界使用排名第一的Web应用服务器

  • Nginx:特点是占有内存少,并发能力强。

  • Tomcat:Tomcat 服务器是一个免费的开放源代码的Web应用服务器。目前比较流行的Web 应用服务器

image-20210827163815603

Web项目

URL

**URL:**Url(Uniform Resource Locator统一资源定位符)是表示互联网上标准资源的地址

基本格式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yL1qTEln-1631277442916)(https://i.loli.net/2021/09/10/GBJRqhEsNSAClI7.png)]

基本用途:

  • 访问Web资源

HTTP

定义:

  • 是由w3c(万维网联盟)制定的一个基于请求/响应模式的、无状态的应用层协议。

种差(内涵)

1、支持请求/响应模式

2、简单快速

3、灵活

4、无连接、无状态

Web项目目录结构

目录说明
/Web应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等)
/WEB-INF存放应用使用的各种资源,该目录及其子目录对客户端都是不可以访问
/WEB-INF/classes存放Web项目的所有的class文件
/WEB-INF/lib存放Web应用使用的JAR文件

Servlet

作用

1.Servlet可以动态生成HTML内容对客户端进行响应

2.Servlet是在服务器端运行的Java程序,可以接收客户端请求并做出响应。

Servlet(Server Applet)是Java Servlet的简称,称为服务器端小程序。

定义

  • Servlet 是运行在web服务器端,用于处理客户端请求并进行响应的Java程序。

种差(内涵)

1、运行在java服务器端的程序
2、用于处理来自客户端的请求
3、动态生成html内容进行响应

生命周期

Servlet生命周期是指Servlet从创建直到销毁的整个过程。

实例化----->初始化------->服务------->销毁

1.实例化:容器调用无参方法,创建Servlet实例

2.初始化:器调用 init ( ) 方法,完成初始工作

3.服务:容器调用 service() 方法,为用户提供服务

4.销毁:容器调用 destroy() 方法,完成销毁工作

体系

HttpServlet继承GenericServlet抽象类,GenericServlet实现Servlet接口

所以,我们一般使用HttpServlet类去创建Servlet

区别

Servlet

  • 接口
  • 通过service()方法处理请求

HttpServlet

  • 抽象类
  • 扩展了HTTP协议,不同的请求方式提供了不同的方法处理
  • 适合HTTP协议的项目

常用方法

一般增删改使用post,查的时候用get

返回值类型方法名方法说明
voiddoGet(HttpServletRequest req, HttpServletResponse resp)接收并处理get方式请求
voiddoPost(HttpServletRequest req, HttpServletResponse resp)接收并处理post方式请求

get和post的比较

对比点GET(请求)POST(响应)
客户端Get方式在通过URL提交数据,数据在URL中可以看到POST方式,数据位于请求体中
数据长度GET方式提交的数据大小有限制(因为浏览器对URL的长度有限制)POST提交数据大小没有限制
安全性问题Get 的时候,参数会显示在地址栏上,不安全POST数据位于请求体中,输入的数据不是中文字符而且包含敏感数据,首选POST
H(pServlet处理方法调用doGet()方法处理请求调用doPost()方法处理请求

因为这个博客是为了快速回忆,所以就使用注解开发,不说xml配置文件开发,配置就开发请看:

ServletContext

ServletContext是全局唯一的,应用程序内部共享的对象

特点:

1、获取全局信息
2、作为全局域对象存储数据
3、全局唯一
4、全局共享

ServletContext

context作用域要声明对象,可以作用在整个tomcat中,并且主要tomcat只要没有关的话就能一直使用

//声明ServletContext对象
ServletContext cxt = request.getServletContext();
cxt.setAttribute("str", "helloWorld");
cxt.getAttribute("str");
cxt.removeAttribute("str");

常用方法

返回值类型方法名方法说明
StringgetServerInfo()返回服务器信息
StringgetContextPath()返回项目的根路径

request

请求通过HttpServletRequest实现,该类在HttpServlet中提供。

请求是客户端遵循HTTP协议向服务器端发送消息的操作

客户端主动向服务端提交消息

request不用声明对象,一次请求和响应之间才有用,请求响应完过后全部都会被清空

request.setAttribute("req", "requset");
request.getAttribute("req");//获取数据
request.removeAttribute("req");//删除

作为域对象存储数据

返回值类型方法名方法说明
voidsetAttribute(String key,Object value)向Request域中设置属性
ObjectgetAttribute(String key)根据key获取Request域中的属性值
voidremoveAttribute(String key)根据key删除Request域中的属性值

获取客户端提交的数据

返回值类型方法名方法说明
StringgetParameter(String name)返回指定请求参数的值,如果该参数不存在,则返回null
MapgetParameterMap()获取所有的请求参数,并以Map集合方式返回

Response

响应通过HttpServletResponse实现,该类在HttpServlet中提供

定义

响应是服务器端遵循HTTP协议向客户端返回消息的操作

服务器返回给客户端消息

常用状态码

状态码英文名称中文描述
200OK请求成功
400Bad Request客户端请求的语法错误,服务器无法解析
404Not Found服务器无法根据客户端的请求找到资源
500Internal Server Error服务器内部错误,无法完成请求

常用方法

返回值类型方法名方法说明
ServletOutputStreamgetOutputStream()获取用于向客户端输出数据的字节输出流
PrintWritergetWriter()获取用于向客户端输出数据的字符输出流
voidsetHeader(String name, String value)用于设置响应头数据

Servlet深入内容

Tomcat&HTTP协议深入

ServletConfig与ServletContext深入

request和response

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 12:57:52  更:2021-09-12 12:58:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:43:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码