本文不仅细化了每一个步骤实现了从0到1部署Tomcat和添加servlet。还针对IDEA2024版和以前的版本在部署上的区别做了详细介绍尤其是add framework support部分。与此同时针对控制台中文乱码问题本文也给出了详细解决方案。目录step1.新建一个项目step2.此处我们选择java项目即可step3.添加web框架?step4 完善项目结构step5 修改项目结构step6 部署tomcatstep7 添加servlet类step8? 新建html页面用于测试刚刚部署的servlet类?step9? 在web.xml中部署我们刚刚新建的servlet类?step10 启动tomcat服务器?step11 解决控制台中文乱码问题step12 添加成功?step1.新建一个项目step2.此处我们选择java项目即可后面会介绍使用maven部署的情况step3.添加web框架对于2024版的IDEA我们选中项目并点击右键后会发现看不到add frameworks support的选项此时有两种解决方法第一种就是在设置settings中修改我们的toolbar选项将add frameworks support添加进去大家可以自行搜索其它博客有详细介绍但有的可能会发现添加进去后我们仍然找不到这个选项此时我们选择第二种解决方法我们单击选中项目不要忘记后点击我们右上角的搜索按钮然后输入add framework support注意这里一定要勾选右上角的**include non-project items**不然找不到这个选项点击后就会出现如下页面我们给项目添加Java EE中的web框架因为我们打开的时候默认是Java SE但是它没有web框架只有JAVA EE中才有web框架添加好web框架后项目结构如下step4 完善项目结构我们在WEB-INF下添加两个文件夹①classes用来存放编译后的java文件②lib用来存放依赖文件注意这两个文件夹的命名必须是这样的包括大小写不要自行修改这样做的原因是因为如果大家直接用tomcat部署过项目不是在IDEA中会发现它的项目框架就是这样的我们这里和它保持一致step5 修改项目结构点击File–Project Structure修改编译后的文件存放路径选择Modules–Paths然后选择Use module compile output path将路径修改为我们刚刚设置的classes文件夹的路径点击OK修改成功后我们可以看到classes文件夹的颜色会变成橙色如果这里没有变大家可以仔细检查看看是不是路径设置错了添加依赖选择Paths–Dependencies点击然后选择添加jar包然后找到我们tomcat的安装路径找到tomcatlib文件夹选择servlet-api.jar点击添加这里之所以这样做是因为我们的Java EE中是没有servlet接口的这个接口是tomcat中的所以我们要通过tomcat来引入添加成功后的界面如下这里我将jsp的api也添加进来了因为其实在后面的开发中这些都是搭配使用的step6 部署tomcat我们在运行按钮的左边找到下拉框找到Edit Configurations点击点击“”选择Tomcat Server–Local点击Deployment–添加本项目的war exploded并且可以修改Application context这里的Application context实际上就是我们启动服务器后默认打开的网页后的端口号后面的路径。举个例子如果我们使用的是8080端口那么我们的网页打开后默认显示的网址就是http://localhost:8080/Application context/这就相当于你这个项目的根网址后面你部署的所有页面无论是html还是servlet的路径都是跟在这个路径后面的这一点在下面有个注意事项中还会提到点击Server此页面可以修改我们的端口号等内容不过一般我们不会去修改它值得一提的是这里我们可以修改On update action和On frame deactivation默认情况下是Restart server意思就是我们如果对项目做了修改需要重启服务器才会更新我们可以将其修改为Update classes and resources即我们对项目修改的同时页面等可以同步更新相应的内容修改后的界面如下step7 添加servlet类我们在src下新建一个文件夹com.first然后在其下面新建一个java类继承servelt接口implements Servlet右键点击Show Context Actions让它帮我们一键补齐框架分别在initservicedestroy类中添加一些输出语句帮助我们后面的测试这是servlet最基本和最常用的三个类step8 新建html页面用于测试刚刚部署的servlet类添加超链接用于我们待会请求servlet类注意这里的超链接一定要加上Application context中的内容比如我的Application context中是test5这里就是test5后面的路径即你的servlet类的路径是你自己定义的没有特别要求和接下来部署在web.xml中的内容保持一致即可step9 在web.xml中部署我们刚刚新建的servlet类注意1两个servlet-name保持一致即可自定义命名注意2servlet-class中填写的是你想部署的servlet类的完整路径注意是完整注意3设置url-pattern这里不用加上test5因为这里是相对路径默认开头就是我们的项目根路径注意这里和我们超链接中的保持一致每添加一个servlet类我们都要在这里添加一次配置配置的代码模板都是一样的放在下面供大家参考和直接复制servlet servlet-namehelloservlet/servlet-name servlet-classcom.mytest.helloservlet/servlet-class /servlet servlet-mapping!-- mapping 表示映射 -- servlet-namehelloservlet/servlet-name url-pattern/helloservlet/url-pattern /servlet-mappingstep10 启动tomcat服务器启动后默认跳转的页面是我们的项目根路径我们在后面添加/hlogin.html即我们刚刚编写的前端页面的路径就会出现我们刚刚写好的内容点加超链接login 便会请求对应的servlet返回我们的IDEA的控制台我们可以看到输出了我们servlet中编写的用于测试的输出信息我们可以重复刷新对应的servlet页面会发现执行语句会重复执行但是初始化语句始终只执行一次是因为初始化操作始终只执行一次step11 解决控制台中文乱码问题这个地方我尝试了很多种方法在很多地方都设置了UTF-8还是得不到解决最后这样操作后成功得到了解决即添加一个系统变量并且在IDEA–help中点击Edit custom VM options添加一行-Dfile.encodingGBK这样做的好处是我们不用在每次配置tomcat时都重新设置一遍因为这已经设置到我们的系统环境中了注意设置完成后记得重启IDEA和tomcat否则可能不生效step12 添加成功到此我们完整的一个servlet就添加完成了后面大家可以根据自己的项目需求再修改响应的内容