使用IntelliJ IDEA部署Tomcat本地环境运行Servlet(2025最新版兼容)

使用IntelliJ IDEA部署Tomcat本地环境运行Servlet(2025最新版兼容)

下载部署细节较多可以收藏以防遗忘❤

1.首先安装好IntelliJ IDEA2025的最新版,各种地方有免激活的方式,大家自行探索即可,注意版本为ultimate edition,如下图。提供一个下载地址(https://www.jetbrains.com/idea/download/#section=windows,看大家需求我会出教学再)

收藏关注后私我发你安装文档也可以。

2.其次在电脑中安装好jdk版本,个人推荐jdk1.8比较稳定,也就是常说的jdk8版本(我后续还会出教程如何安装)安装包jdk-8u341-windows-x64.exe。

需要的收藏关注后私我发你安装包也可以。

示例中我已汉化IJ,若需要可以自行搜索社区教程。

3.选择上图的“New Project”,出现下列界面,填写下列选项后,选择“Create” 创建一个新项目;

Name:项目名称,可根据自己的需要填写;

Location:项目保存位置,可根据自己的需要选择;

Language:编程语言,默认为Java;

Bulid system:构建系统方式,初学者可以选择 IntelliJ但推荐建议使用“Maven”(以后再讲解)

JDK:选择JDK的版本,如果安装IDEA时安装了JDK,可以直接拉下来选择;小编使用1.8即jdk8版本。然后直接创建。

4.添加web,如图打开项目结构,在facet中“+”web自动生成如下页面,点击应用。

项目中添加了web。

####(注意:2024之前的版本

在左边的项目管理器上用右键单击该项目根,在弹出的菜单上选择“Add Framework Support…”(添加框架支撑);

然后就出现Add Frameworks Support窗口,在Java EE栏中找到Web Application并选中它,然后点击OK;

最后会发现刚刚创建的项目下面多出来了一个web文件夹,则说明你的web项目创建好了;

)####

5.在WEB-INF目录下新建 classes 及 lib 两个目录;

6.选择File菜单→Project Structure,在弹出的Project Structure窗口左边选择Modules,并在右边的Path→Compiler Output中选择Use Module compile output path,将创建的classes目录配置到项目中Output path和Test output path中;详细如下图。

7.解压缩Tomcat,官网提供了tomcat9的安装文件apache-tomcat-9.0.65-windows-x64.zip,请选择合适的位置,具体过程略;保存在d盘D:\apache-tomcat-9.0.65,需要的快速安装包的可以收藏关注后私信我。

8.为我们创建的项目添加Servlet支持包,这里选择 tomcat9中lib目录下的servlet-api.jar;

(1)选择File菜单→Project Structure,在弹出的Project Structure窗口左边选择Modules,并在右边的Dependencies → + →JARs or Directories;看图操作就行

选择tomcat9目录中lib → servlet-api.jar,然后点击OK,这样项目就可以支持Servlet了;

9、配置Tomcat服务器

(1)选择Run→Edit Configurations,在弹出的Run/Debug Configurations窗口左边选择 +,然后把左边的树拖动下来选择Tomcat Server→Local;

(2)配置tomcat选项卡,首先选择Server → application server右边的Configure,并在弹出的对话框中选择Tomcat的根目录,确定后,可以把Name设置为“tomcat9”(默认为Unnamed)

3)继续配置tomcat选项卡,选择Deployment → + → Artifact,这里是在选择Web应用发布方式(第一个选项为war包,第二个选项为源码),我们选择Artifact;选择后下滑修改对外访问路径,我一般和项目名称一致

注意:如果没有工件选项遵循一下步骤--------------------------------------------------------------------

原因一般由于没有配置工件

需要去“文件”-“项目结构”—"facet"中下方创建工件

如下图勾选后应用即可

————————————————————————————————————————

按照上述解决后点击“+”后选择“工件”

选择后下滑修改对外访问路径,我一般和项目名称一致,我是/yyh_Web_exploded

(4)然后回到Server界面,把On ‘Update’ action和On frame deactivation这2个选项设置为热加载,即Update classes and resrouces,表示在修改文件后就会生效,JRE选择Default,点击OK确定

10、新建Servlet文件

(1)在src目录下右建选择New->软件包命名chp1方便管理项目,然后再新建java类Hello(注意第一个字母大写);最后如下图


(2)编写代码(代码和教材略有不同),注意@WebServlet行配置的是该Servlet的根相对路径

package是指上一级目录包chp1。

注意:有些代码是IDE(Integrated Development Environment,集成开发环境,即我们使用的IDEA)自动生成的,有些需要手写。 package chp1; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.io.PrintWriter; @WebServlet(name = "Hello", value = "/hello") public class Hello extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("</head>"); out.println("<body>"); out.println("Hello World"); out.println("</body>"); out.println("</html>"); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } } 

复制到Hello类中,4)在IDEA中点击第二排右边绿色的箭头,启动tomcat;

默认跳转为这样的页面不要慌,在上面加路径/hello(小写)即可

localhost:8080/yyh_Web_exploded/hello

出现上面的页面就对了!恭喜你!!!

###进阶理解:

实际在这里改路径加hello就可以在启动服务tomcat时直接跳转前端页面。

若不更改也可以在web目录下新建一个index.html的文件,自动优先跳转到该页面(可以自行做尝试熟悉该软件)

Read more

动态规划 线性 DP 五大经典模型:LIS、LCS、合唱队形、编辑距离 详解与模板

动态规划 线性 DP 五大经典模型:LIS、LCS、合唱队形、编辑距离 详解与模板

文章目录 * 最长上升子序列 * 【模板】最长上升子序列 * 合唱队形 * 牛可乐和最长公共子序列 * 编辑距离 经典线性 dp 问题有两个:最⻓上升⼦序列(简称:LIS)以及最⻓公共⼦序列(简称:LCS),这两道题⽬的很多⽅⾯都是可以作为经验,运⽤到别的题⽬中。⽐如:解题思路,定义状态表⽰的⽅式,推到状态转移⽅程的技巧等等。 因此,这两道经典问题是需要我们重点掌握的。 最长上升子序列 题目描述 题目解析 本题介绍最长上升子序列的一般解法,当数据量不大时用这种解法。 在此之前,小编先区分一下子数组和子序列,子数组需要是连续的,而子序列可以是间断的。 1、状态表示 dp[i]表示以i结尾的所有子序列中,最长的上升子序列。

Flutter 三方库 music_notes 跨栈极客音乐教学底层核心算法鸿蒙化适配解析:高保真重组异度乐理参数体系精准切割动态音程和弦算子推进数字化编曲演进-适配鸿蒙 HarmonyOS ohos

Flutter 三方库 music_notes 跨栈极客音乐教学底层核心算法鸿蒙化适配解析:高保真重组异度乐理参数体系精准切割动态音程和弦算子推进数字化编曲演进-适配鸿蒙 HarmonyOS ohos

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 music_notes 跨栈极客音乐教学底层核心算法鸿蒙化适配解析:高保真重组异度乐理参数体系精准切割动态音程和弦算子推进数字化编曲演进大盘 在鸿蒙平台的数字音乐创作、智慧钢琴教学或音频编辑工具的开发中,如何通过代码精确表达音高(Pitch)、调性(Key)与和弦(Chord)逻辑?music_notes 库是一套专为乐理计算设计的 Dart 核心工具库。本文将详解该库在 OpenHarmony 上的适配要点。 前言 什么是 music_notes?它不仅能简单地表示音符。还内置了复杂的半音/全音步长运算、调号(Key Signatures)转换以及音程(Intervals)关系判定。在鸿蒙操作系统强调的“全场景智慧办公”和“极致影音娱乐”背景下,利用 music_notes 库可以确保你的应用在面对复杂的乐谱解析、

【优选算法】D&C-Mergesort-Harmonies:分治-归并的算法之谐

【优选算法】D&C-Mergesort-Harmonies:分治-归并的算法之谐

文章目录 * 1.概念解析 * 2.排序数组 * 3.交易逆序对的总数 * 4.计算右侧小于当前元素的个数 * 5.翻转对 * 希望读者们多多三连支持 * 小编会继续更新 * 你们的鼓励就是我前进的动力! 本篇是优选算法之分治-归并,简单来说就是一个不断分组排序再合并的过程 1.概念解析 🚩什么是分治-归并? 分治归并(基于分治思想的归并排序)是分治算法(Divide and Conquer)在排序问题中的经典应用,核心是通过 “拆分 - 排序 - 合并” 三步,将无序数组转化为有序数组,本质是 “化繁为简、再合简为繁” 的解题思路 2.排序数组 ✏️题目描述: ✏️示例: 传送门:排序数组 题解: 本质上分治归并就是一个后序遍历,而快排就是一个前序遍历,不断向下细分数组,然后从下往上把左右两分支的数组排序并合并,以此向上循环往复

阿里云全品类 8 折券限时领,建站 / AI / 存储通用 立即领取