当前位置: 首页 > news >正文

10.1网站编写(Tomcat和servlet基础)

一.Tomcat:

1.Tomcat是java写的,运行时需要依赖jre,所以要装jdk.

2.建议配置好环境变量.

3.默认端口号8080(业务端口)可能会被占用,建议改一下(本人改成了9999).

4.另一个默认端口是8005(管理端口).

二Servlet基础(编写一个hello world代码):

整体分为7个步骤,分别是创建项目,引入依赖,

1.创建项目:自动生成的java下的Main和org.example不使用,删除掉.pom.xml很重要.

2.引入依赖:进入maven的中央仓库,搜索servlet,Tomcat8使用3.1.0版本(Maven中央仓库地址).

将以下代码贴到pom.xml中,注意需要创建标签(<dependencies> </dependencies>).

<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope>
</dependency>

60d2d0f408774826a968e38d38cbe0fc.png

注意:首次使用会自动下载很多依赖,所以会慢一些,之后会很快. 

此处提供一个阿里的镜像源(阿里镜像源)

3.手动创建一些必要的目录(文件):

首先在main目录下创建一个目录(Directory)(和java平级),名字是webapp(规定这个名字,不能用大写).在刚刚创建的目录下,再创建一个目录(Directory),名字是WEB-INF(规定这个名字,不能用小写).接着在上一步创建的目录下,创建一个文件(File),名字是web.xml(规定这个名字).最后在上一步创建的文件中放入一段固定的代码,如下所示.

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name>
</web-app>

上述代码可能会标红,但不是错误,不影响使用.

4.编写代码:

a.在java路径下创建类,要让它继承(extends)HttpServlet类(这个类如果标红,需要去pom.xml那里手动刷新一下).

b.重写doGet方法(根据需求,还可以重写doPost,doPut......方法)

1e7c1a12c1fc49819046475c10ebd817.png 064cbfd1cb384891b1d8b8dc5bd5c251.png

注意配置路由:写完代码之后,要在类的上面加上代码@WebServlet("/hello").表示当请求路径在含义hello的时候,才会执行到上述代码.主要是因为这里面可以有多个类,上述代码用来区分不同的类.

f7bc272d906e47fc8debee6635db2fa7.png

这里需要重点注意,doGet方法不支持body数据中的读取。

5.通过maven进行打包:

a.在右边点击maven.

f256a8e3b7a5440291fe61493264233d.png

eb6423617c374150ab7ad1eb61f2f1c2.png

 79f64335c0164fc1b9428eac98228a41.png

b.

1)修改成war包:在pom.xml文件中添加标签(<packaging>war</packaging>)(这个标签是<project>标签的子标签).

2)可以选择加上(<build><finalName>???</finalName></build>)给war包加上名字.

a1327ed36b0a4ce1b64d3399cabbe75d.png

然后重新打包,就是war包 

6.部署:把war包拷贝到tomcat的webapps目录中,tomcat会自动解压缩,并新增两条日志.

7.验证程序,使用浏览器.

afc6b461f00e4282873fb9ab273ea95c.png

注意:通过第一级路径,确定一个webapp.

        通过第二级路径,确定哪个servlet.

        通过方法,确定执行servlet中的哪个方法.

8.问题说明:

如果出现tomcat cmd窗口正常启动,但是浏览器页面一直加载的情况,需在cmd窗口敲回车键.

相关文章:

10.1网站编写(Tomcat和servlet基础)

一.Tomcat: 1.Tomcat是java写的,运行时需要依赖jre,所以要装jdk. 2.建议配置好环境变量. 3.默认端口号8080(业务端口)可能会被占用,建议改一下(本人改成了9999). 4.另一个默认端口是8005(管理端口). 二Servlet基础(编写一个hello world代码): 整体分为7个步骤,分别是创建…...

10CQRS

本系列包含以下文章&#xff1a; DDD入门DDD概念大白话战略设计代码工程结构请求处理流程聚合根与资源库实体与值对象应用服务与领域服务领域事件CQRS&#xff08;本文&#xff09; 案例项目介绍 # 既然DDD是“领域”驱动&#xff0c;那么我们便不能抛开业务而只讲技术&…...

DAZ To UMA⭐一.DAZ简单使用教程

文章目录 &#x1f7e5; DAZ快捷键&#x1f7e7; DAZ界面介绍 &#x1f7e5; DAZ快捷键 移动物体:ctrlalt鼠标左键 旋转物体:ctrlalt鼠标右键 导入模型:双击左侧模型UI &#x1f7e7; DAZ界面介绍 Files:显示全部文件 Products:显示全部产品 Figures:安装的全部人物 Wardrobe…...

面试题 —— Java集合篇(23题)

文章目录 1.Java中常见集合有哪些 &#xff1f;2. 说说你对Java集合是怎么理解的&#xff1f;3.请你说一下List&#xff0c;Set&#xff0c;Map三者的特点是 &#xff1f;4.在实际开发过程中如何更好的选择集合 &#xff1f;5. ArrayList和Vector区别 &#xff1f;6. ArrayList…...

SpringBoot2.7.14整合Swagger3.0的详细步骤及容易踩坑的地方

&#x1f9d1;‍&#x1f4bb;作者名称&#xff1a;DaenCode &#x1f3a4;作者简介&#xff1a;啥技术都喜欢捣鼓捣鼓&#xff0c;喜欢分享技术、经验、生活。 &#x1f60e;人生感悟&#xff1a;尝尽人生百味&#xff0c;方知世间冷暖。 &#x1f4d6;所属专栏&#xff1a;Sp…...

题解:ABC321D - Set Menu

题解&#xff1a;ABC321D - Set Menu 题目 链接&#xff1a;Atcoder。 链接&#xff1a;洛谷。 难度 算法难度&#xff1a;B。 思维难度&#xff1a;C。 调码难度&#xff1a;B。 综合评价&#xff1a;见洛谷链接。 算法 枚举二分查找。 思路 先对b升序排序&#x…...

什么是Progressive Web App(PWA)?它们有哪些特点?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 渐进式Web App简介⭐ PWAs的主要特点⭐ 总结⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入…...

MySQL的高级SQL语句

目录 一、高级SQL语句 1、select 查询表中一个或多个字段的数据 2、distinct 不显示重复的数据记录 3、where 有条件查询 4、and与or 且与或 5、in 显示在某个范围值内 的字段的信息 6、between 显示两个值范围内的数据记录 7、order by 对字…...

基于人脸5个关键点的人脸对齐(人脸纠正)

摘要&#xff1a;人脸检测模型输出人脸目标框坐标和5个人脸关键点&#xff0c;在进行人脸比对前&#xff0c;需要对检测得到的人脸框进行对齐&#xff08;纠正&#xff09;&#xff0c;本文将通过5个人脸关键点信息对人脸就行对齐&#xff08;纠正&#xff09;。 一、输入图像…...

vue3中两个el-select下拉框选项相互影响

vue3中两个el-select下拉框选项相互影响 1、开发需求2、代码2.1 定义hooks文件2.2 在组件中使用 1、开发需求 如图所示&#xff0c;在项目开发过程中&#xff0c;遇到这样一个需求&#xff0c;常规时段中选中的月份在高峰时段中是禁止选择的状态&#xff0c;反之亦然。 2、代…...

博弈论——反应函数

反应函数 1 引言 谢老师的《经济博弈论》书中对反应函数并没有给出一般笼统的定义&#xff0c;而是将其应用与古诺模型并给出了相关解释&#xff1a;反应函数是指在无限策略的古诺博弈模型中&#xff0c;博弈方的策略有无限多种&#xff0c;因此各个博弈方的最佳对策也有无限…...

UE5读取json文件

一、下载插件 在工程中启用 二、定义读取外部json文件的函数&#xff0c;参考我之前的文章 ue5读取外部文件_艺菲的博客-CSDN博客 三、读取文件并解析为json对象 这里Load Text就是自己定义的函数&#xff0c;ResourceBundle为一个字符串常量&#xff0c;通常是读取的文件夹…...

Vue中的插槽--组件复用,内容自定义

插槽 文章目录 插槽插槽-默认插槽插槽-后备内容&#xff08;设置默认值&#xff09;插槽-具名插槽插槽–作用域插槽 插槽-默认插槽 作用&#xff1a;让组件内部的一些结构支持自定义 需求&#xff1a;要在页面中显示一个对话框,封装成一个组件&#xff08;对话框有很多功能是类…...

完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名

文章目录 mv命令使用指南1. 简介什么是mv命令&#xff1f;mv命令的作用和功能是什么&#xff1f; 2. 基本用法基本语法格式如何移动文件&#xff1f;如何重命名文件&#xff1f;如何移动和重命名目录&#xff1f; 3. 高级用法使用通配符进行批量移动和重命名使用选项进行文件移…...

gitee生成公钥和远程仓库与本地仓库使用验证

参考文档&#xff1a; https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE(1)通过命令ssh-keygen 生成SSH key -t key类型 -c注释 ssh-keygen -t ed25519 -C "Gitee SSH Key" (2)按三次回车 (3)查看生成的 SSH 公钥和私钥&#xff1a; …...

请求后端接口413

当在进行HTTP请求时出现"413 Request Entity Too Large"错误时&#xff0c;通常是因为请求体的大小超过了服务器的配置限制。这个错误提示表明服务器拒绝接受过大的请求。 此时一般还未到后端服务&#xff0c;是被后端的ngnix代理服务器拦截的&#xff0c;所以可以检…...

HarmonyOS之 开发环境搭建

一 鸿蒙简介&#xff1a; 1.1 HarmonyOS是华为自研的一款分布式操作系统&#xff0c;兼容Android&#xff0c;但又区别Android&#xff0c;不仅仅定位于手机系统。更侧重于万物物联和智能终端&#xff0c;目前已更新到4.0版本。 1.2 HarmonyOS软件编程语言是ArkTS&#xff0c…...

QTC++ day12

注册登录界面 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QIcon> #include <QPushButton> #include <QLineEdit> #include <QLabel> #include <QDebug> #include <QMessageBox>//消息对话框类 #inc…...

Vue3中使用Proxy API取代defineProperty API的原因

目录 一、前言 二、defineProperty API的限制和问题 三、Proxy API的优势和特性 四、Vue3.0中使用Proxy API的原因 五、Proxy API的局限性和注意事项 一、前言 Vue3.0是Vue.js框架的最新版本&#xff0c;它在底层进行了许多重要的改进。其中最引人注目的变化之一是它转而…...

构建工具Webpack简介

一、构建工具 当我们习惯了Node中使用ES模块化编写代码以后&#xff0c;用原生的HTML、CSS、JS这些东西会感觉到各种不便。比如&#xff1a;不能放心的使用模块化规范&#xff08;浏览器兼容性问题&#xff09;、即使可以使用模块化规范也会面临模块过多时的加载问题。 这时候…...

Docker部署单点Elasticsearch与Kibana

一 、 创建网络 因为需要部署kibana容器&#xff0c;因此需要让es和kibana容器互联。这里创建一个网络&#xff1a; docker network create es-net # 创建一个网络名称为:es-net 二 、拉取并加载镜像 方式一 docker pull elasticsearch:7.12.1 版本为elasticsearch的7…...

opencv实现仿射变换和透射变换

##1&#xff0c; 什么是仿射变换&#xff1f; 代码实现 import numpy as np import cv2 as cv import matplotlib.pyplot as plt#设置字体 from pylab import mpl mpl.rcParams[font.sans-serif] [SimHei]#图像的读取 img cv.imread("lena.png")#仿射变换 row…...

抖音seo账号矩阵源码系统

1. 开通多个抖音账号&#xff0c;并将它们归纳为一个账号矩阵系统。 2. 建立一个统一的账号管理平台&#xff0c;以便对这些账号进行集中管理&#xff0c;包括账号信息、内容发布、社区交互等。 3. 招募专业的运营团队&#xff0c;对每个账号进行精细化运营&#xff0c;包括内…...

性能优化之防抖

方法1&#xff1a;利用lodash库提供的防抖来处理 方法2&#xff1a;手写一个防抖函数来处理 需求&#xff1a;鼠标在盒子上移动&#xff0c;鼠标停止500ms之后&#xff0c;里面的数字才会变化1 方法一&#xff1a;利用lodash库实现防抖 <!DOCTYPE html> <html lang&…...

postgresql用户和角色

postgresql用户和角色 简述创建角色角色属性登录特权超级用户创建数据库创建角色启动复制密码修改角色属性 对象授权撤销授权组和成员删除角色 简述 PostgreSQL 通过角色的概念来控制数据库的访问权限。角色又包含了两种概念&#xff0c;具有登录 权限的角色称为用户&#xff…...

设计模式之备忘录模式

文章目录 游戏角色状态恢复问题传统方案解决游戏角色恢复传统的方式的问题分析备忘录模式基本介绍游戏角色恢复状态实例备忘录模式的注意事项和细节 游戏角色状态恢复问题 游戏角色有攻击力和防御力&#xff0c;在大战 Boss 前保存自身的状态(攻击力和防御力)&#xff0c;当大…...

大数据Flink(八十八):Interval Join(时间区间 Join)

文章目录 Interval Join&#xff08;时间区间 Join&#xff09; Interval Join&#xff08;时间区间 Join&#xff09; Interval Join 定义&#xff08;支持 Batch\Streaming&#xff09;&#xff1a;Interval Join 在离线的概念中是没有的。Interval Join 可以让一条流去 Jo…...

数字IC笔试千题解--判断题篇(五)

前言 出笔试题汇总&#xff0c;是为了总结秋招可能遇到的问题&#xff0c;做题不是目的&#xff0c;在做题的过程中发现自己的漏洞&#xff0c;巩固基础才是目的。 所有题目结果和解释由笔者给出&#xff0c;答案主观性较强&#xff0c;若有错误欢迎评论区指出&#xff0c;资料…...

Kubernetes(k8s)上搭建一主两从的mysql8集群

Kubernetes上搭建一主两从的mysql8集群 环境准备搭建nfs服务器安装NFS暴露nfs目录开启nfs服务器 安装MySQL集群创建命名空间创建MySQL密码的Secret安装MySQL主节点创建pv和pvc主节点的配置文件部署mysql主节点 安装第一个MySQL Slave节点创建pv和pvc第一个从节点配置文件部署my…...

MySQL备份与恢复

MySQL备份与恢复一、备份1、数据备份的重要性2、数据备份分类2.1 物理备份2.2 逻辑备份 3、数据库备份策略4、常用的备份方法和工具5、数据库上云迁移 二、数据库完全备份1、简介2、物理冷备份与恢复2.1 物理冷备份2.2 备份恢复2.3 补充知识date 3、mysqldump备份与恢复3.1 完全…...

成都优化网站哪家公司好/手机制作网站的软件

远程服务器返回错误: 404错误、远程服务器返回错误:500错误、 HttpWebResponse远程服务器返回错误:(404、500) 错误。 现象 我们编码实现请求一个页面时&#xff0c;请求的代码类似如下代码&#xff1a; HttpWebRequest req (HttpWebRequest)WebRequest.Create(strUrl);req.Us…...

徐州制作公司网站/seo综合查询平台官网

灰度图是指用灰度表示的图像&#xff0c;灰度是在白色和黑色之间分的若干个等级&#xff0c;其中最常用的是256级&#xff0c;也就是256级灰度图。灰度图在医学、航天等领域有着广泛的应用。 那么如何将一幅彩色图像转换为灰度图呢&#xff1f;根据人眼对红绿蓝三色的敏感程度&…...

犬舍网站怎么做/ks免费刷粉网站推广

// // ViewController.m // UI-AutoLayout // // Created by Bruce on 15/9/6. // Copyright (c) 2015年 Bruce. All rights reserved. // /* frame 原点 自身的尺寸 来确定 自身位置 autoLayout 根据参照视图的位置 来定义自己的位置 autoLayout相对布局 约束视图和视…...

装修公司怎么做免费网站/b站是哪个网站

1、问题 javaweb工程中都有web.xml文件。 那么web.xml的作用是什么呢&#xff1f;每个web工程中web.xml都必须的吗&#xff1f; 2、前言 一个web中可以没有web.xml文件&#xff0c;也就是说&#xff0c;web.xml文件并不是web工程必须的。 web.xml文件是用来初始化配置信息…...

北京三屏网站制作/中央新闻频道直播今天

【PConline深圳站行情】条码打印机的应用在我们生活中已经屡见不鲜&#xff0c;超市中的产品标签打印既是这类产品制造出来的&#xff0c;大部分条码打印机只能针对不同行业需求进行打印&#xff0c;而且其价格不菲。如果出现一款能应用于多种行业且经济实惠的产品&#xff0c;…...

网页美工培训哪里好/深圳百度网站排名优化

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; 近日&#xff0c;据外媒报道&#xff0c;Chromium 团队成员兼高级 Chrome 工程师 Peter Kasting 表示&#xff0c;Windows 10 的 Chrome 浏览器的暗色模式正在开发中。一直以来&#xff0c;Chro…...