HttpServlet概述

news2024/11/16 9:47:28

  HTTP协议包括:

        请求协议:浏览器向WEB服务器发送数据的时候,这个发送的数据需要遵循一套标准,这套标准中规定了发送的数据具体格式。

        相应协议:WEB服务器向浏览器发送数据的时候,这个发送的数据需要遵循一套标准,这套标准中规定了发送的数据具体格式。

HTTP请求协议包括:请求行请求头空白行请求体

GET请求:

POST请求:

 

请求体:向服务器发送的具体数据

GET请求和POST请求区别:

 

HTTP响应协议包括:状态行响应头空白行响应体

HTTP包下有:

        HttpServlet(HTTP协议专用的Servlet类,抽象类)

        HttpServletRequest(HTTP协议专用的请求对象)

        HttpServletResponse(HTTP协议专用的响应对象)

HttpServletRequest对象中封装了请求协议的全部内容,Tomcat服务器负责将数据封装到request对象当中,只要面对HttpServletRequest,就可以获取请求协议中的数据

HttpServletResponse对象是专门用来响应HTTP协议的

 

package com.bjpowernode.javaweb.servlet;

import jakarta.servlet.*;

import java.io.IOException;
import java.io.PrintWriter;

/**
 * @Classname UserServlet
 * @Description TODO
 * @Date 2023/6/6 16:38
 * @Created by quyi13
 */
public class UserServlet extends GenericServlet {
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        servletResponse.setContentType("text/html");
        PrintWriter out=servletResponse.getWriter();
        ServletConfig servletConfig = this.getServletConfig();
        out.print("servletConfig"+servletConfig);
    }
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login page</title>
</head>
<body>
<form action="/xmm/login" method="post">
    <input type="submit" value="login">
</form>
</body>
</html>

默认页:

<welcome-file-list>
    <welcome-file>xxx.html</welcome-file>
</welcome-file-list>

访问时自动跳转

 

这个配置了全局的欢迎页

欢迎页也可以配置servlet

关于WEB-INF目录:

放在WEB-INF目录下的资源是受保护的。在浏览器上不能够通过路径直接访问。所以如HTML,CSS,JS,image等静态资源一定要放到WEB-INF目录之外

HttpServletRequest是一个接口,是servlet规范中的一员,父接口为ServletRequest,Tomcat服务器实现了HttpServletRequest接口,封装了HTTP的请求协议

实际上是用户发送请求的时候,发送的是HTTP协议,Tomcat将协议中的信息解析出来,封装到HttpServletRequest对象当中,传给了我们javaWeb程序员

javaweb程序员面向HttpServletRequest接口编程,调用方法可以获取到请求的信息

  

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/623586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2023年首次更新】MyEclipse v2023.1支持Java 20

MyEclipse让您在开发过程中不受技术约束&#xff0c;不断创新帮您找到关键技术的解决方案您能在这里得到Java EE开发所需要的一切支持&#xff01; MyEclipse v2023.1官方正式版下载 更新日志如下&#xff1a; MyEclipse官方近期更新了2023年第一个版本——v2023.1&#xff…

Nat.Commun. : 新的硬件将扩大量子计算机的工业应用规模

光子盒研究院 由明尼苏达大学双城分校领导的一个团队开发了一种新的超导二极管——这是电子设备中的一个关键部件&#xff0c;可以帮助扩大量子计算机的工业使用规模&#xff0c;并提高人工智能系统的性能。与其他超导二极管相比&#xff0c;研究人员的装置更加节能、可以同时处…

看过才知道,这套SpringCloudAlibaba笔记,把微服务玩的出神入化!

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件&#xff0c;依托Spring Cloud Alibaba&#xff0c;只需要添加一些注解和少量配置&#xff0c;就可以将Spring Cloud 应用接入阿里微服务解决方案&#xff0c;通过阿里中…

pwn(2)-栈溢出下

32位shellcode编写 不同内核态操作通过给寄存器设置不同的值&#xff0c;在调用指令int 80h&#xff0c;就可以通知内核完成不同的功能。 只要我们通过特定的汇编代码把特定的寄存器设定为特定的值后&#xff0c;在调用int 80h执行sys_execve(“/bin/sh”,NULL,NULL)就可以获…

Python获取链家二手房源数据信息

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.8 Pycharm 模块使用: requests >>> pip install requests 数据请求模块 parsel >>> pip install parsel 数据解析模块 csv 内置模块 &#x1f447; &#x1f447; &#x1…

OJ#203.身高排序

题目描述 ​ 海贼小学为了强健学生的身体&#xff0c;每天课间都要组织学生在户外学做广播体操。​ 这一天&#xff0c;五年级三班的所有同学在老师的指引下将队形排成了 M行 N 列。 现已知所有同学 的身高&#xff0c;数值为整数&#xff0c;单位&#xff1a;厘米。要求在所有…

Ansible从入门到精通【五】

大家好&#xff0c;我是早九晚十二&#xff0c;目前是做运维相关的工作。写博客是为了积累&#xff0c;希望大家一起进步&#xff01; 我的主页&#xff1a;早九晚十二 专栏名称&#xff1a;Ansible从入门到精通 立志成为ansible大佬 ansible-playbook企业级实战--handler hand…

爬虫基本的编码基础知识

爬虫的编码基础知识包括以下几个方面&#xff1a; 网络请求&#xff1a;使用Python中的requests库或urllib库发送HTTP请求&#xff0c;获取网页内容。 解析网页&#xff1a;使用Python中的BeautifulSoup库或lxml库解析HTML或XML格式的网页内容&#xff0c;提取所需的数据。 数…

如何开发视频上传和播放功能时,既省钱又体验好?

前言 现如今&#xff0c;大部分带内容的网站或应用都有视频区了&#xff0c;不说是大厂平台&#xff0c;就连个人开发者也相继在自己网站或小程序上迭代出视频板块。那既然有了视频模块&#xff0c;除个性化推荐&#xff0c;智能审核等这种费钱又耗时的功能外(个人开发者暂缓)。…

软件测试金融测试岗面试热点问题

1、网上银行转账是怎么测的&#xff0c;设计一下测试用例。 回答思路&#xff1a; 宏观上可以从质量模型&#xff08;万能公式&#xff09;来考虑&#xff0c;重点需要测试转账的功能、性能与安全性。设计测试用例可以使用场景法为主&#xff0c;先列出转账的基本流和备选流。…

Hive Code2报错排查

前言 大多数可能的code2报错一般是内存不够&#xff0c;所以加下面这个配置可以有效解决这个问题 set hive.auto.convert.join false; #取消小表加载至内存中 但这个不一定是因为内存不够&#xff0c;其实很多错误都是报这种官方错误的&#xff0c;所以一定要去yarn上看日志。…

如何解决vcruntime140.dll找不到的问题?两种方法教你解决

当你在运行某些应用程序或游戏时&#xff0c;可能会遇到一个错误提示&#xff0c;即“找不到vcruntime140.dll”文件。这是因为你的电脑中缺少了这个动态链接库文件&#xff0c;这个问题可能会导致你无法正常使用某些应用程序。在本文中&#xff0c;我们将介绍两种方法来解决 …

Vue3.0快速入门(速查)

Vue也是基于状态改变渲染页面&#xff0c;Vue相对于React要好上手一点。有两种使用Vue的方式&#xff0c;可以直接导入CDN&#xff0c;也可以直接使用CLI创建项目&#xff0c;我们先使用CDN导入&#xff0c;学一些Vue的基本概念。 <!-- 开发环境版本&#xff0c;包含了有帮…

泰克AFG31000系列任意波函数发生器应用

模拟电路检定 这是一个模拟世界。所有物理量均使用模拟信号捕获和表示。因此&#xff0c;需要检定放大器、滤波器和转换器等模拟电路的性能。 InstaView? 技术避免在阻抗不匹配的 DUT 上增加的波形不确定性频率范围为 25 MHz 至 250 MHz由于信号保真度高&#xff0c;无需使…

MySql基础笔记

数据库相关概念 ​ 名称全称简称数据库存储数据的仓库&#xff0c;数据是有组织的进行存储DataBase&#xff08;DB&#xff09;数据库管理系统操纵和管理数据库的大型软件DataBase Management System&#xff08;DBMS&#xff09;SQL操作关系型数据库的编程语言&#xff0c;定…

Java粮油MES系统源码(带可视化数据大屏)

▶ Java粮油MES系统实现一物一码&#xff0c;全程追溯 &#xff0c;正向追踪&#xff0c;逆向溯源&#xff0c;自主研发,有演示&#xff01; 一、粮油MES技术框架说明 开发语言&#xff1a;java 开发工具&#xff1a;idea或eclipse 前端框架&#xff1a;easyui 后端框架&…

横空出世!京东技术专家狂推的Redis笔记,实战和原理两开花

Redis 是互联网技术领域使用最为广泛的存储中间件&#xff0c;它是「Remote Dictionary Service」的首字母缩写&#xff0c;也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。国内外很多大型互联网公司…

【JavaSE】 封装

文章目录 一. 封装的概念二. 访问限定符三. 封装扩展之包1. 包的概念2. 导入包中的类3. 自定义包4. 包的访问权限控制举例5. 常见的包 四. static成员1. 简介2. static修饰成员变量3. static修饰成员方法 五. 代码块1. 代码块概念以及分类2. 普通代码块3. 构造代码块4. 静态代码…

chatgpt赋能python:Python可以实现两个数值的互换

Python可以实现两个数值的互换 Python是一种高效、易学且功能强大的编程语言&#xff0c;可以用于各种不同的编程目的&#xff0c;包括数据科学、网络编程、机器学习、人工智能等领域。其中&#xff0c;Python的一个最基本、最关键的操作就是对数值的处理&#xff0c;包括加减…

【SpringMVC】| SpringMVC的视图

目录 SpringMVC的视图 1. ThymeleafView 2. 转发视图 3. 重定向视图 4. 视图控制器view-controller SpringMVC的视图 &#xff08;1&#xff09;SpringMVC中的视图是View接口&#xff0c;视图的作用渲染数据&#xff0c;将模型Model中的数据展示给用户。 &#xff08;2&am…