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

JavaWeb-在idea中配置Servlet项目

文章目录

    • 在idea中进行Servlet项目的配置(较新的idea版本)
    • 创建一个空的JavaSE项目(Project)
    • 创建一个普通的JavaSE板块(module)
    • 添加Web项目的配置
    • 定义一个对象模拟实现接口
    • 在web.xml中配置路径映射
    • 配置项目到Tomcat服务器
    • 启动Tomcat服务器进行测试

在idea中进行Servlet项目的配置(较新的idea版本)

之前我们说过在不使用集成开发环境的情况下进行web项目的配置, 现在我们采用idea集成开发环境进行web项目的配置

创建一个空的JavaSE项目(Project)

在这里插入图片描述
我们这里不创建一个JavaEE项目, 而是创建一个JavaSE的空项目, 然后进行环境的配置, 来体会开发的过程(其实主要还是idea内置的JavaEE项目是基于maven的项目, 现在我们先默认不会maven)

创建一个普通的JavaSE板块(module)

在这里插入图片描述

在这里插入图片描述

添加Web项目的配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

按照上述步骤操作, 就可以在该模块下, 成功配置Web开发的环境
继续点击配置之后, 我们查看以下当前的项目路径的结构

在这里插入图片描述
我们可以看到, idea为我们生成一个符合Servlet规范的web项目的列表, 这里可能有人对web这个目录可能觉得很奇怪

这个目录的含义,
其实就是我们先前配置的Tomcat中的webapps中的webapp的根目录

那我们不把这个目录配置到Tomcat中的webapps下真的可以吗?
答案是肯定的, 虽然我们的项目没有配置到那个路径下面,
但是我们在后面启动Tomcat服务器的时候, 服务器会关联上这个路径
同时也会让你手动的配置一个项目名称(后面会说)

至于我们的java代码,
我们在这个和web项目同级别的src目录中编写, 也不用手动的去创建其他的目录信息了…

我们路径URL的映射还是配置到web.xml

定义一个对象模拟实现接口

在这里插入图片描述
我们实现接口的时候, 会发现产生编译错误, 这是因为我们没有Servlet的接口的导入, idea中导入这个接口的方法, 具体途径还是上面导入web页面的位置进行相关配置

在这里插入图片描述

我们找到Tomcat中的lib文件中的jar包进行导入

在这里插入图片描述

导入完毕之后, 我们发现我们的项目的多出来了两个jar包

在这里插入图片描述

重写Servlet接口的相关方法

package com.qnn.servlet;import jakarta.servlet.*;import java.io.IOException;public class HelloServlet implements Servlet {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("Hello Servlet");}@Overridepublic String getServletInfo() {return "";}@Overridepublic void destroy() {}
}

在web.xml中配置路径映射

在这里插入图片描述

配置项目到Tomcat服务器

在配置Tomcat服务器之前, 要把所需的类变成一个组织的属性(配置如下)

在这里插入图片描述
在这里插入图片描述

点进去点OK即可完成项目的添加


下面才是Tomcat服务器的配置

在这里插入图片描述

在这里插入图片描述

第一页基本上不用改动…
在这里插入图片描述
在这里插入图片描述

添加之后要配置项目的路径, 之前我们说了, 那个web带一个小圈圈的目录不是真正的项目目录, 我们配置项目的时候项目的名称要进行重新的指定才可以

在这里插入图片描述
这里配置的才是我们真正的webapp的名称, 比如这里我们配置的wepapp的名称是/myproject

点击之后就成功的把项目配置到了Tomcat服务器当中…

启动Tomcat服务器进行测试

在这里插入图片描述

点击debug图标启动服务器进行测试(我们一般都是以调试模式启动)

在这里插入图片描述

可以看到此时Tomcat服务器启动完成, 我们打开浏览器输入URL进行多次测试

http://127.0.0.1:8080/myproject/world

可以看到服务器端已经有所反应了

在这里插入图片描述

至此我们的Servlet项目在idea中就正式配置成功了…

相关文章:

JavaWeb-在idea中配置Servlet项目

文章目录 在idea中进行Servlet项目的配置(较新的idea版本)创建一个空的JavaSE项目(Project)创建一个普通的JavaSE板块(module)添加Web项目的配置定义一个对象模拟实现接口在web.xml中配置路径映射配置项目到Tomcat服务器启动Tomcat服务器进行测试 在idea中进行Servlet项目的配置…...

redis小记

redis小记 下载redis sudo apt-get install redis-server redis基本命令 ubuntu16下的redis没有protected-mode属性,就算sudo启动,也不能往/var/spool/cron/crontabs写计划任务,感觉很安全 #连接到redis redis-cli -h 127.0.0.1 -p 6379 …...

垂类大模型微调(一):认识LLaMA-Factory

LlamaFactory 是一个专注于 高效微调大型语言模型(LLMs) 的开源工具框架,尤其以支持 LLaMA(Meta 的大型语言模型系列)及其衍生模型(如 Chinese-LLaMA、Alpaca 等)而闻名。它的目标是简化模型微调流程,降低用户使用门槛; 官方文档 一、介绍 高效微调支持 支持多种微调…...

企业为什么要选择软件测试外包公司?湖南软件测试公司有哪些?

在当今快速发展的技术背景下,软件测试已成为软件开发生命周期的重要一环。随着企业对软件质量要求的不断提高,软件测试外包公司逐渐被越来越多的企业所青睐。 软件测试外包公司通过将软件测试从内部团队外包出去,帮助企业减少开发成本、提升…...

数据保护API(DPAPI)深度剖析与安全实践

Windows DPAPI 安全机制解析 在当今数据泄露与网络攻击日益频繁的背景下,Windows 提供的 DPAPI(Data Protection API)成为开发者保护本地敏感数据的重要工具。本文将从 双层密钥体系、加密流程、跨上下文加密、已知攻击向量与防御措施、企业…...

java23种设计模式-桥接模式

桥接模式(Bridge Pattern)学习笔记 🌟 定义 桥接模式属于结构型设计模式,将抽象部分与实现部分分离,使它们可以独立变化。通过组合代替继承的方式,解决多维度的扩展问题,防止类爆炸。 &#x…...

3D Web轻量化引擎HOOPS Communicator如何赋能航空航天制造?

在当今航空航天制造领域,精确度、效率和协作是推动行业发展的关键要素。随着数字化技术的飞速发展,3D Web可视化开发包HOOPS Communicator 为航空航天制造带来了革命性的变化。它凭借强大的功能和灵活的应用,助力企业在设计、生产、培训等各个…...

iOS手机App爬虫- (1) Mac安装Appium真机运行环境

iOS手机App爬虫 一、环境准备与工具安装1. 开发基础环境配置1.1 Node.js环境1.2 Xcode套件1.3 Java环境 2. 核心测试工具链2.1 Appium主程序2.2 辅助工具集 3. 可视化工具 二、设备与环境验证1. 设备信息获取2. 环境健康检查 三、WebDriverAgent编译部署1. 设备端准备2. 项目配…...

android s下make otapackage编译失败

[DESCRIPTION] android s上,我司推荐使用split build的方式进行编译,但是部分客户依旧会采用AOSP full build的方式进行编译。而我司在这块release的时候,并未进行验证。因此执行make otapackage的时候,会出现如下报错。 [0312/…...

《Elasticsearch实战:从零开始构建高效全文搜索引擎》

内容概览: Elasticsearch简介 Elasticsearch的定义与应用场景 Elasticsearch的核心特性 环境搭建与安装 安装Elasticsearch 启动与配置Elasticsearch 索引设计与映射 创建索引 定义映射(Mapping) 字段类型与分析器的选择 数据导入与管理…...

【Linux网络】认识协议(TCP/UDP)、Mac/IP地址和端口号、网络字节序、socket套接字

⭐️个人主页:小羊 ⭐️所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 1、初识协议2、UDP、TCP3、Mac、IP地址4、端口号5、网络字节序6、socket 1、初识协议 协议就是一种约定。如何让不同厂商生产的计…...

12、数据库、Sql单表多表

文章目录 一、数据库简介二、单表三、多表四、等值连接五、内联结六、inner join on、left join on、right join on区别七、模糊查找八、作业 一、数据库简介 数据在内存: 优点:读写速度快缺点:程序结束后数据丢失 保存到文件 优点&#…...

Spring Boot 实现图片上传并生成缩略图功能

在实际开发中,上传图片并生成缩略图是一项常见需求,例如在电商平台、社交应用等场景中,缩略图可以有效提高页面加载速度,优化用户体验。本文将介绍如何在 Spring Boot 项目中实现上传图片并生成缩略图的功能。 📦 1. …...

洛谷B3664[语言月赛202209] 零食售卖点

B3664 [语言月赛202209] 零食售卖点 - 洛谷 代码区&#xff1a; #include<bits/stdc.h>using namespace std;int main(){int n;cin >> n;int arry[n],dp[n];for(int i0;i<n;i){cin >> arry[i];}dp[0]0;sort(arry,arryn);for(int i1;i<n;i){dp[i]arry…...

贪心算法:JAVA从理论到实践的探索

在计算机科学领域,贪心算法是一种简单而高效的算法设计策略,广泛应用于优化问题的求解。它通过在每一步选择中都采取当前状态下最优的选择,以期望最终得到全局最优解。本文将深入探讨贪心算法的原理、应用场景,并通过具体代码示例,帮助读者更好地理解和掌握这一算法。 一…...

线程池10种常见坑

1. 直接使用 Executors 创建线程池 直接使用 Executors 提供的快捷方法&#xff1a; ExecutorService executor Executors.newFixedThreadPool(10);问题 无界队列&#xff1a;newFixedThreadPool 使用的队列是 LinkedBlockingQueue&#xff0c;它是无界队列&#xff0c;任务…...

鸿蒙ArkTs如何实现pdf预览功能?

鸿蒙ArkTs如何实现pdf预览功能&#xff1f; 前言PDFKit运行示例代码报错真机运行先看效果一、预览本地pdf文件二、预览线上的pdf文件三、预览沙箱目录中pdf的文件(重点)效果中的整体代码总结 Harmony OS NEXT版本&#xff08;接口及解决方案兼容API12版本或以上版本) 前言 在开…...

KylinSP3 | 防火墙和麒麟安全增强设置KySec

一、系统防火墙原理 麒麟操作系统从V10版本开始&#xff0c;默认使用了Firewalld防火墙&#xff0c;Firewalld是能提供动态管理的防火墙&#xff0c;支持网络/防火墙区域&#xff0c;用于定义网络连接或接口的信任级别。支持IPv4和IPv6防火墙设置、以太网桥接和IP集。将运行时…...

【C++】面试常问八股

5、内存管理 野指针 野指针指的是未进行初始化或未清零的指针&#xff0c;不是NULL指针野指针产生原因及解决方案&#xff1a; 指针变量未初始化&#xff1a;指针变量定义时若未初始化&#xff0c;则其指向的地址是随机的&#xff0c;不为NULL&#xff1b;定义时初始化为NULL…...

vscode多文件编译构建(CMake)和调试C++

目录 1. CMake 基础构建工具及作用相关配置文件 2. 配置 tasks.json关键字段详细解释 3. 配置 launch.json关键字段详细解释 4. 配置 CMakeLists.txt关键部分详细解释 5. 构建和调试项目1. 仅构建项目1.1 任务执行顺序1.2 cmake 任务执行详情1.3 build 任务执行详情1.4 构建后的…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...