代做视频的网站好/域名解析ip
下载Openjdk并配置环境变量
https://jdk.java.net/java-se-ri/11-MR2是官网下载Openjdk 11的地方。
sudo wget https://download.java.net/openjdk/jdk11.0.0.1/ri/openjdk-11.0.0.1_linux-x64_bin.tar.gz
下载openjdk 11。
sudo mkdir -p /usr/openjdk11
创建目录,sudo tar zx openjdk-11.0.0.1_linux-x64_bin.tar.gz -C /usr/openjdk11/
把文件解压到/usr/openjdk11/
目录里。
sudo vim /etc/profile
把下边两行内容:
export JAVA_HOME=/usr/openjdk11/jdk-11.0.0.1/
PATH=$PATH:$JAVA_HOME/bin
写进去。
tail -n 2 /etc/profile
看到/etc/profile
最后两行的内容。
source /etc/profile
使配置文件生效。
java -version
显示如下就是配置好了:
openjdk version "11.0.0.1" 2023-05-09
OpenJDK Runtime Environment 18.9 (build 11.0.0.1+3-5)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.0.1+3-5, mixed mode)
下载Tomcat并解压
https://archive.apache.org/dist/tomcat/是下载Tomcat的官网地址。
sudo wget -c https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
下载tomcat 9.0.80。
sudo tar zxf apache-tomcat-9.0.80.tar.gz
进行解压。
创建Servlet,编译并运行
sudo vim TestServlet.java
把下边的内容写进去:
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class TestServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println("TestServlet 在处理get()请求...");PrintWriter out = response.getWriter();response.setContentType("text/html;charset=utf-8");out.println("<strong>Servlet doGet</strong><br>");}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println("TestServlet 在处理post()请求...");PrintWriter out = response.getWriter();response.setContentType("text/html;charset=utf-8");out.println("<strong>Servlet doPost</strong><br>");}}
sudo javac -cp apache-tomcat-9.0.80/lib/servlet-api.jar TestServlet.java
进行编译。
sudo mkdir -p apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/
sudo mkdir -p apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/classes
在tomcat中webapps
目录下创建特定的目录。
sudo vim apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/web.xml
把下边的内容写进去:
<?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/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"metadata-complete="true"><description> Servlet Example. </description><display-name> MyServlet Example </display-name><request-character-encoding>UTF-8</request-character-encoding><servlet><servlet-name>myServlet</servlet-name><servlet-class>TestServlet</servlet-class></servlet><servlet-mapping><servlet-name>myServlet</servlet-name><url-pattern>/myservlet</url-pattern></servlet-mapping></web-app>
sudo cp TestServlet.class apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/classes/
把上边sudo javac -cp apache-tomcat-9.0.80/lib/servlet-api.jar TestServlet.java
生成的TestServlet.class
复制到apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/classes/
里边。
sudo chmod u+x apache-tomcat-9.0.80/bin/startup.sh
为当前用户给启动脚本加上可执行权限。
sudo apache-tomcat-9.0.80/bin/startup.sh
启动。
sudo chmod u+x apache-tomcat-9.0.80/bin/shutdown.sh
把shutdown.sh
脚本给当前用户赋予可执行权限,sudo apache-tomcat-9.0.80/bin/shutdown.sh
关闭tomcat。
测试
curl测试
curl http://localhost:8080/MyWebApp/myservlet
访问一下。
浏览器测试
在浏览器里边输入http://localhost:8080/MyWebApp/myservlet
。
telnet测试
还可以使用telnet
手工拼接报文。
1.在命令行里边输入telnet
。
2.在telnet>
提示符下输入open 127.0.0.1 8080
。
3.然后按下Ctrl+],请注意Ctrl在屏幕上显示为^
。
4.在telnet>
提示符下按下Enter。
5.然后输入GET /MyWebApp/myservlet HTTP/1.1
,按下回车,再输入Host: localhost
。即如下所示:
GET /MyWebApp/myservlet HTTP/1.1
Host: localhost
6.按下Ctrl+c退出。
此文章为10月Day 25学习笔记,内容来源于极客时间《深入拆解 Tomcat & Jetty》。
相关文章:

在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试
下载Openjdk并配置环境变量 https://jdk.java.net/java-se-ri/11-MR2是官网下载Openjdk 11的地方。 sudo wget https://download.java.net/openjdk/jdk11.0.0.1/ri/openjdk-11.0.0.1_linux-x64_bin.tar.gz下载openjdk 11。 sudo mkdir -p /usr/openjdk11创建目录ÿ…...

单例模式.
目录 ♫什么是单例模式 ♫饿汉式单例模式 ♫懒汉式单例模式 ♫单例模式的线程安全问题 ♪原子性 ♪内存可见性与指令重排序 ♫什么是单例模式 单例模式是一种设计模式,通过巧用Java的现有语法,实现一个只能被创建一个实例的类,并提供一个全…...

2023年MathorCup高校数学建模挑战赛大数据挑战赛赛题浅析
比赛时长为期7天的妈杯大数据挑战赛如期开赛,为了帮助大家更好的选题,首先给大家带来赛题浅析,为了方便大家更好的选题。 赛道 A:基于计算机视觉的坑洼道路检测和识别 A题,图像处理类题目。这种题目的难度数模独一档…...

c++小惊喜——stringstream
当需要读取一行字符串时,我们通常会有将这个字符串分开的想法 #include<iostream> #include<sstream> using namespace std;int main() {string str;getline(cin, str);stringstream ssin(str);string s[10];int cnt 0;while (ssin >> s[cnt]) …...

ubuntu 18.04 编译安装flexpart 10.4(2023年) —— 筑梦之路
2023年10月29日 环境说明 操作系统版本:ubuntu 18.04 python版本:3.6.9 gcc版本:7.5.0 编译安装路径:/usr/local cmake: 3.10.2 所需要的源码包我已经打包放到我的资源。 2021年1月份已经写过一篇Ubuntu 编译安装的帖子F…...

深度学习(生成式模型)——DDIM:Denoising Diffusion Implicit Models
文章目录 前言为什么DDPM的反向过程与前向过程步数绑定DDIM如何减少DDPM反向过程步数DDIM的优化目标DDIM的训练与测试 前言 上一篇博文介绍了DDIM的前身DDPM。DDPM的反向过程与前向过程步数一一对应,例如前向过程有1000步,那么反向过程也需要有1000步&a…...

HashMap的遍历方式 -- 好几次差点记不起来总结了一下
public class HashMapDemo {public static void main(String[] args) {// 创建一个HashMap并添加一些键值对Map<String, Integer> hashMap new HashMap<>();hashMap.put("Alice", 25);hashMap.put("Bob", 30);hashMap.put("Charlie"…...

PostgreSQL 两表关联更新sql
PostgreSQL两表关联更新SQL如下: UPDATE user SET username ft.name, age ft.age FROM userinfo WHERE user.id ft.id; user 要更新的表 userinfo数据来源表...

R2R 的一些小tip
批次间控制器(Run-to-run Controller),以应对高混合生产的挑战。将最优配方参数与各种工业特征相关联的模型是根据历史数据离线训练的。预测的最优配方参数在线用于调整工艺条件。 批次控制(R2R control)是一种先进的工艺控制技术,可在运行(如批次或晶圆…...

UML中类之间的六种主要关系
UML中类之间的六种主要关系: 继承(泛化)(Inheritance、Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组…...

机器学习-朴素贝叶斯之多项式模型
多项式模型: 记住一定用于离散的对象,不能是连续的 于高斯分布相反,多项式模型主要适用于离散特征的概率计算,切sklearn的多项式模型不接受输入负值 因为多项式不接受负值的输入,所以样本数据的特征为数值型数据&…...

下载的nginx证书转换成tomcat证书格式
1、下载的nginx证书格式 XXX.crt private.key 2、转换成JKS格式证书步骤 #crt格式证书转pem openssl x509 -in xxx.crt -out xxx.pem#先转成p12格式,此时注意,如果有别名,需要设置 openssl pkcs12 -export -in xxx.crt -inkey private.key…...

计算机毕业设计选题推荐-社区志愿者服务微信小程序/安卓APP-项目实战
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

ES6中数值扩展
目录 二进制和八进制表示法 Number.isFinite() Number.isNaN() Number.parseInt()和Number.parseFloat() Number.isInteger() Math.trunc() Math.sign() Math.cbrt(): Math.clz32(): Math.imul(): Math.fround(): ES6中…...

sql-50练习题11-15
sql-50练习题11-15 前言数据库表结构介绍学生表课程表成绩表教师表 1-1 查询没有学全所有课程的同学的信息1-2 查询至少有一门课与学号为01的同学所学相同的同学的信息1-3 查询和1号的同学学习的课程完全相同的其他同学的信息1-4 查询没学过张三老师讲授的任一门课程的学生姓名…...

【多线程面试题十九】、 公平锁与非公平锁是怎么实现的?
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官: 公平锁与非公平锁是怎么…...

LabVIEW背景颜色设为和其他程序或图像中一样
LabVIEW背景颜色设为和其他程序或图像中一样 有时候LabVIEW背景色要和其他程序或者图片的颜色保持一致,如果要求不高可以大致设置一下。如果要求较高,那可以按照如下的方式。 先用PS打开标准图像,之后用吸管工具选择图像上中的点࿰…...

图表参考线,数据对比一目了然_三叠云
参考线 路径 仪表盘 >> 仪表盘设计 功能简介 新增「参考线」功能。 参考线是在单个图表组件中添加的一条水平虚线,也可以配置两条线形成的参考区间,它表示该水平线上纵坐标值的大小。 使用场景: 通过辅助线的设置,可…...

【深度学习】Transformer、GPT、BERT、Seq2Seq什么区别?
请看vcr:https://transformers.run/back/transformer/...

数据结构与算法之LRU: 实现 LRU 缓存算法功能 (Javascript版)
关于LRU缓存 LRU - Lease Recently Used 最近使用 如果内存优先,只缓存最近使用的,删除 ‘沉睡’ 数据 核心 api: get set 分析 使用哈希表来实现, O(1)必须是有序的,常用放在前面,沉睡放在后面, 即:有序࿰…...

Matlab | 基于二次谱提取地震数据的地震子波
本文通过地震数据二次谱求取地震子波谱,具体方法如下: MATLAB代码实现如下: function w SndSpecExtWavelet(x, M) % 功能:基于二次谱提取输入地震数据data的地震子波wavelet % Extracting Wavelet from Input Seismic Dat…...

利用远程IO模块,轻松驾驭食品包装生产的自动化
常见的自动化包装系统,它的核心部分通常由一系列高端设备组成,包括自动开箱机、自动封箱机、自动捆扎机、装箱机器人、码垛机器人等。这些设备协同工作,形成一条高效运转的生产线,从开箱到装箱,再到码垛,每…...
华为OD机考算法题:计算最大乘积
题目部分 题目计算最大乘积难度易题目说明给定一个元素类型为小写字符串的数组,请计算两个没有相同字符的元素长度乘积的最大值。 如果没有符合条件的两个元素,返回 0。输入描述输入为一个半角逗号分隔的小写字符串的数组,2< 数组长度<…...

用友 GRP-U8 存在sql注入漏洞复现
0x01 漏洞介绍 用友 GRP-U8 license_check.jsp 存在sql注入,攻击者可利用该漏洞执行任意SQL语句,如查询数据、下载数据、写入webshell、执行系统命令以及绕过登录限制等。 fofa:app”用友-GRP-U8” 0x02 POC: /u8qx/license_check.jsp?kj…...

vue页面el-tab控件标签栏加入按钮功能
vue页面el-tab控件标签栏加入按钮功能 显示效果为: <el-tabs v-model"activeName" type"border-card" style"margin-right:5px"><el-tab-pane label"模型管理" name"first"><span slot"l…...

vue3使用ref和reactive
Vue 3引入了两个新的API,ref和reactive,用于创建响应式对象。这两个方法都位于Vue.prototype上,因此可以在组件实例中直接使用。 ref ref函数用于创建一个响应式引用对象。这个函数可以接受一个普通的变量或对象作为参数,并返回…...

7 款用于解锁iPhone密码的苹果解锁软件
无法访问您的 iPhone 一定是最烦人的情况之一。 即使您以前从未遇到过这种情况,做好准备总是一个好主意,而不是在它发生时感到无助。事实上,这种情况经常发生并且可能有很多实例,例如忘记密码或购买锁定的二手 iPhone。 牢记 Ap…...

.jnlp
首先配置电脑的java环境。 百度搜索jre下载,会有很多结果,一般选择官网进行下载。 下载正确的jre版本。 我的电脑是windows 64位,根据你自己电脑的情况选择版本进行下载。不懂自己电脑是多少位的可以看下一步。 查看电脑是64位还是32…...

Linux启动之uboot分析
Linux启动之uboot分析 uboot是什么?一、补充存储器概念1.存储器种类1.norflash - 是非易失性存储器(也就是掉电保存)2.nandflash - 是非易失性存储器(也就是掉电保存)3.SRAM - 静态随机访问存储器 - Static Random Acc…...