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

Java-servlet(三)Java-servlet-Web环境搭建(下)详细讲解利用maven和tomcat搭建Java-servlet环境

Java-servlet(三)Java-servlet-Web环境搭建(下)利用maven和tomcat搭建Java-servlet环境

  • 前言
  • 一、配置maven阿里镜像
  • 二、利用IDEA创建maven文件
    • 创建maven文件
    • 删除src文件
    • 创建新的src模版
    • 删除example以及org文件
  • 三、在第二个xml文件里写入jsp-api代码和javax.servlet-api代码
  • 四、配置打开模板设置
  • 五、在当前文件里编辑设置
  • 六、web.xml文件里设置
  • 运行项目
  • 这样变构造好环境了


前言

  • 上一节的博客里,我们准备了maven和tomcat以及IDEA,这一节我们利用这些文件,创建出我们第一个Java-servlet-Web环境项目
  • 上一节博客地址
  • https://blog.csdn.net/2402_83322742/article/details/145930212?spm=1001.2014.3001.5501

一、配置maven阿里镜像

  • 首先打开利用vscode打开maven文件里面的conf文件
    在这里插入图片描述
  • 找到setting.xml文件

在这里插入图片描述

  • 单击利用vscode或者其他编辑软件打开它

  • 找到里面的mirros文件,替换为国内阿里云镜像(国外的网速慢)在这里插入图片描述

  • 国内阿里云镜像

<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>
  • 粘贴过去替换掉原来的镜像文件
  • 然后保存

二、利用IDEA创建maven文件

创建maven文件

  • 首先打开IDEA,点击右上角新建项目
    在这里插入图片描述

在这里插入图片描述

  • Jdk尽量选择18以下,19以上运行Java-servlet-Web环境可能出现问题
  • 选择第二个选项Maven
  • 然后点击创建项目
  • 然后会出现以下界面

在这里插入图片描述

删除src文件

在右边的文件里找到src文件,然后右键删除
在这里插入图片描述

创建新的src模版

在右边的文件里找到se3文件,然后右键,找到创建模板,
在这里插入图片描述

  • 继续创建maven文件
    在这里插入图片描述
    创键好之后,会有俩个xml文件
    在这里插入图片描述

删除example以及org文件

在这里插入图片描述

三、在第二个xml文件里写入jsp-api代码和javax.servlet-api代码

  • ** javax.servlet.jsp-api代码网站**https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api
    在这里插入图片描述
    在里面找到自己适合的版本,这里我选择了2.3.3
    在这里插入图片描述
    复制里面的代码到XML文件里
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
<dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.3</version><scope>provided</scope>
</dependency>

在这里插入图片描述
在复制之前首先要打

<dependencies></dependencies>

不然运行不了

  • javax.servlet-api代码网站
  • https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api
  • 这里我找了3.1.0版本
  • 继续进行上面的操作
  • 在这里插入图片描述
<!-- 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>

在这里插入图片描述

  • 复制完之后点击刷新按钮
    在这里插入图片描述
    我们配置的文件会在指定项目里显示出来
    在这里插入图片描述

四、配置打开模板设置

  • 找到我们配置好的SE3文件,单击右键,打开模板设置
    在这里插入图片描述
    在这里插入图片描述
  • 找到模板在ch1下面加入web环境
    在这里插入图片描述

找到创建工程文件在web文件目录下创建lib文件
在这里插入图片描述

  • 找到创建目录为lib
    在这里插入图片描述
    在这里插入图片描述
  • 找到添加副本里面的库文件
    在这里插入图片描述
    在这里插入图片描述
  • ctri+a全选点击确定
    在这里插入图片描述

之后在点击应用
在这里插入图片描述

  • 配置好之后的样子
    在这里插入图片描述

点击最右边的maven按钮
在这里插入图片描述

  • 找到maven设置
  • 在这里插入图片描述

将自己的maven文件导入里面
在这里插入图片描述

五、在当前文件里编辑设置

  • 点击当前文件里的编辑设置在这里插入图片描述
    点击+号找到本地Tomcat本都设置

在这里插入图片描述
再部署里面找到工件
在这里插入图片描述

  • 点击应用和确定
    在这里插入图片描述

六、web.xml文件里设置

  • 找到web.xml文件

在这里插入图片描述
输入以下代码

<servlet><servlet-name>name1</servlet-name><servlet-class>com.niit.HelloServtal</servlet-class></servlet><servlet-mapping><servlet-name>name1</servlet-name><url-pattern>/name1</url-pattern></servlet-mapping>
  • 在java文件里面创建以下文件夹

在这里插入图片描述

  • 在HelloServtal输入以下代码
package com.niit;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class HelloServtal extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().write("1111");}
}

运行项目

在这里插入图片描述

在这里插入图片描述

这样变构造好环境了

在这里插入图片描述
在这里插入图片描述
在后面输入name1就可以进行跳转了
在这里插入图片描述
构建成功!!!


以上就是这篇博客的全部内容,下一篇我们将继续探索的更多Java-servlet精彩内容。

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

相关文章:

Java-servlet(三)Java-servlet-Web环境搭建(下)详细讲解利用maven和tomcat搭建Java-servlet环境

Java-servlet&#xff08;三&#xff09;Java-servlet-Web环境搭建&#xff08;下&#xff09;利用maven和tomcat搭建Java-servlet环境 前言一、配置maven阿里镜像二、利用IDEA创建maven文件创建maven文件删除src文件创建新的src模版删除example以及org文件 三、在第二个xml文件…...

Spring 构造器注入和setter注入的比较

一、比较说明 在 Spring 框架中&#xff0c;构造器注入&#xff08;Constructor Injection&#xff09;和 Setter 注入&#xff08;Setter Injection&#xff09;是实现依赖注入&#xff08;DI&#xff09;的两种主要方式。它们的核心区别在于依赖注入的时机、代码设计理念以及…...

如何选择DevOps平台?GitHub、GitLab、BitBucket、Jenkins对比与常见问题解答

本文内容来源github.com&#xff0c;由GitHub中国授权合作伙伴-创实信息进行翻译整理。 欢迎通过021-61210910、customershcsinfo.com联系我们&#xff0c;免费试用GitHub企业版。 软件是当今领先企业的核心&#xff0c;而开发者则是软件的核心。GitHub作为一个完整的开发者平台…...

react中的fiber和初次渲染

源码中定义了不同类型节点的枚举值 组件类型 文本节点HTML标签节点函数组件类组件等等 src/react/packages/react-reconciler/src/ReactWorkTags.js export const FunctionComponent 0; export const ClassComponent 1; export const IndeterminateComponent 2; // Befo…...

闭包+求解候选码+最小函数依赖集

一、闭包 直接上例题 简单明了 A的闭包ABC ABC的闭包ABCD ABCD的闭包ABCDE ABCDE的闭包ABCDEG 等于集合R的全集 所以A的闭包为ABCDEG AB的闭包为ABC 二、候选码 答案&#xff1a; 三、最小函数依赖集 求F的最小函数依赖集 去掉多余的 然后&#xff01; 化为最简...

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之功能优化,添加表格空状态提示,带插图的空状态,Table7空状态2

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

Unity Shader 学习15:可交互式雪地流程

本质是 利用顶点变换实现的&#xff1a; 通过一个俯视整个场地的正交摄像机&#xff0c;根据绑定在移动物体身上的粒子系统&#xff0c;来获取物体移动过的位置&#xff0c;记录到一张RenderTexture上作为轨迹图&#xff0c;再通过这张图来对雪地做顶点变换。 1. 由于顶点变换需…...

工具介绍《netcat》

nc&#xff08;netcat&#xff09;是一款功能强大的网络工具&#xff0c;被称为“网络瑞士军刀”&#xff0c;支持TCP/UDP协议&#xff0c;广泛用于调试、数据传输、端口扫描、网络连接测试等场景。以下是其详细介绍&#xff1a; 一、核心功能 端口扫描 检测目标主机的端口开放…...

嵌入式开发之串行数据处理

前题 前面几篇文章写了关于嵌入式软件开发时&#xff0c;关于串行数据处理的一些相关内容&#xff0c;有兴趣的可以看看《嵌入式开发&#xff1a;软件架构、驱动开发与串行数据处理》、《嵌入式软件开发之生产关系模型》和《嵌入式开发之Modbus-RTU协议解析》相关的内容。从业十…...

Centos的ElasticSearch安装教程

由于我们是用于校园学习&#xff0c;所以最好是关闭防火墙 systemctl stop firewalld systemctl disable firewalld 个人喜欢安装在opt临时目录&#xff0c;大家可以随意 在opt目录下创建一个es-standonely-docker目录 mkdir es-standonely-docker 进入目录编辑yml文件 se…...

SyntaxError: Unexpected token ‘xxx‘

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…...

Unity自定义区域UI滑动事件

自定义区域UI滑动事件 介绍制作1.创建一个Image2.创建脚本 总结 介绍 一提到滑动事件联想到有太多的插件了比如EastTouchBundle&#xff0c;今天想单纯通过UI去做一个滑动事件而不是基于Box2d或者Box去做滑动事件。 制作 1.创建一个Image 2.创建脚本 using UnityEngine; us…...

单链表封装 - 使用JavaScript封装

痛苦就是在蜕变吗 目录 链表&#xff1a;链表的特点&#xff1a;单链表&#xff1a;单链表的封装- JS封装&#xff1a; 单链表的应用&#xff1a;解决回文&#xff1a;解决击鼓传花&#xff1a;十进制进制转换其他进制&#xff1a; 链表&#xff1a; 链表就是一种物理存储单元…...

GET3D:从图像中学习的高质量3D纹理形状的生成模型

【摘要】 本文提出了GET3D,这是一种新的生成模型,能够生成具有任意拓扑结构的高质量3D纹理网格,可以直接被3D渲染引擎使用并在下游应用中立即使用。现有的3D生成模型要么缺乏几何细节,要么生成的网格拓扑受限,通常不支持纹理,或者在生成过程中使用神经渲染器,使得它们在…...

TypeError: Cannot convert object to primitive value

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…...

【uniapp】图片添加canvas水印

目录 需求&背景实现地理位置添加水印 ios补充 需求&背景 需求&#xff1a;拍照后给图片添加水印, 水印包含经纬度、用户信息、公司logo等信息。 效果图&#xff1a; 方案&#xff1a;使用canvas添加水印。 具体实现&#xff1a;上传图片组件是项目里现有的&#xff…...

Flutter——最详细原生交互(MethodChannel、EventChannel、BasicMessageChannel)使用教程

MethodChannel&#xff08;方法通道&#xff09; 用途&#xff1a;实现 双向通信&#xff0c;用于调用原生平台提供的 API 并获取返回结果。 场景&#xff1a;适合一次性操作&#xff0c;如调用相机、获取设备信息等。 使用步骤&#xff1a; Flutter 端&#xff1a;通过 Meth…...

如何在PHP爬虫中处理异常情况的详细指南

一、常见的异常类型 在爬虫开发中&#xff0c;可能会遇到以下几种常见的异常情况&#xff1a; 网络请求失败&#xff1a;目标服务器不可用或网络连接问题。 页面结构变化&#xff1a;目标网站更新了HTML结构&#xff0c;导致选择器无法正确匹配。 反爬机制触发&#xff1a;请…...

贪吃蛇身匀速运动模型

通用运动模型 我们已知斜线为移动的距离 d d d&#xff0c; x x x轴总偏移量为 d x dx dx&#xff0c; y y y轴总偏移量为 d y dy dy&#xff0c;在一帧当中&#xff0c;我们也知道能走的距离为 m d md md。那么作为一般的运动模型&#xff0c;该如何确定我们进行移动的方向呢&…...

npm 执行安装报错

Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution. 原因​ 主要的原因是 npm7 以上的版本&#xff0c;新增了一个对等依赖的特性&#xff0c;在以…...

SPA单页面应用优化SEO

1.SSR服务端渲染 将组件或页面通过服务器生成html&#xff0c;再返回给浏览器&#xff0c;如nuxt.js或vue-server-renderer const Vue require(vue); const server require(express)(); const renderer require(vue-server-renderer).createRenderer();const vueApp new …...

笔记五:C语言编译链接

Faye&#xff1a;孤独让我们与我们所爱的人相处的每个瞬间都无比珍贵&#xff0c;让我们的回忆价值千金。它还驱使你去寻找那些你在我身边找不到的东西。 ---------《寻找天堂》 目录 一、编译和链接的介绍 1.1 程序的翻译环境和执行环境 1.1.1 翻译环境 1.1.2 运行环境 …...

【c语言概述、数据类型、运算符与表达式精选题】

c语言概述、数据类型、运算符与表达式精选题 一、易错题1.1&#x1f384; c程序的执行1.2&#x1f384; c程序的基本组成单元1.3&#x1f384; c程序的组成1.4&#x1f384; 5种基本类型数据类型长度1.5&#x1f384; C语言关键字1.6&#x1f384; 整型常量1.7&#x1f384; 合…...

200个前卫街头氛围涂鸦艺术水墨颜料手绘笔迹飞溅PNG免扣迭加纹理素材 VANTABLACK TEXTURES

探索 Vantablack 200 纹理包&#xff1a;您获得前卫、高分辨率纹理的首选资源。非常适合旨在为其作品添加原始都市氛围的设计师。这些透明迭加层使用简单&#xff0c;但非常有效&#xff0c;只需单击几下&#xff0c;即可将您的设计从普通变为非凡。准备好用既酷又百搭的质地来…...

机试准备第11天

第一题是浮点数加法&#xff0c;目前写过最长的代码。 #include <stdio.h> #include <string> #include <iostream> #include <vector> using namespace std; int main() {string str1;string str2;while (getline(cin, str1) && getline(cin…...

OpenIndiana Hipster系统安装配置

gcc安装 直接pkt install gcc会报错 需要 先pkt update&#xff0c;然后重启&#xff08;不重启还是报错&#xff09;用pkg search compiler找到可用的gcc包再pkt install xx安装这个包 TCP配置 参考这个网站&#xff1a;https://community.spiceworks.com/t/setting-tcp-p…...

深度学习模型Transformer核心组件—自注意力机制

第一章&#xff1a;人工智能之不同数据类型及其特点梳理 第二章&#xff1a;自然语言处理(NLP)&#xff1a;文本向量化从文字到数字的原理 第三章&#xff1a;循环神经网络RNN&#xff1a;理解 RNN的工作机制与应用场景(附代码) 第四章&#xff1a;循环神经网络RNN、LSTM以及GR…...

Java核心语法:从变量到控制流

一、变量与数据类型&#xff08;对比Python/C特性&#xff09; 1. 变量声明三要素 // Java&#xff08;强类型语言&#xff0c;需显式声明类型&#xff09; int age 25; String name "CSDN"; // Python&#xff08;动态类型&#xff09; age 25 name …...

nature genetics | SCENT:单细胞多模态数据揭示组织特异性增强子基因图谱,并可识别致病等位基因

–https://doi.org/10.1038/s41588-024-01682-1 Tissue-specific enhancer–gene maps from multimodal single-cell data identify causal disease alleles 研究团队和单位 Alkes L. Price–Broad Institute of MIT and Harvard Soumya Raychaudhuri–Harvard Medical S…...

大白话如何使用 CSS 实现响应式布局?请列举一些常见的方法。

大白话如何使用 CSS 实现响应式布局&#xff1f;请列举一些常见的方法。 答题思路 首先要解释什么是响应式布局&#xff0c;让读者明白其概念和重要性。然后依次介绍常见的实现响应式布局的CSS方法&#xff0c;包括媒体查询、弹性布局&#xff08;Flexbox&#xff09;、网格布…...