1. 环境准备与工具安装在开始Servlet开发之前我们需要准备好开发环境。IDEA2024作为目前最强大的Java IDE之一配合Tomcat10这个轻量级Web服务器可以为我们提供高效的开发体验。这里我会分享一些我在实际项目中总结的安装技巧。首先确保你的电脑已经安装了JDK 17或更高版本这是运行Tomcat10的最低要求。我建议使用OpenJDK它完全免费且性能优秀。安装完成后记得配置JAVA_HOME环境变量这个步骤经常被新手忽略导致后续Tomcat无法启动。下载IDEA2024的Ultimate版本它内置了对Java EE和Web开发的支持。社区版虽然免费但缺少一些关键功能。安装时建议勾选Add launchers dir to the PATH选项这样后续在命令行启动会更方便。Tomcat10的安装有几个需要注意的点从Apache官网下载core版本的zip包不要下载Windows Service Installer后者会带来不必要的复杂性解压路径不要包含中文或空格我习惯放在C:\dev\tomcat10这样的目录下安装后先不要急着配置我们后面会在IDEA中统一设置2. 创建Web项目打开IDEA2024后我们开始创建项目。这里有个小技巧不要直接选择Java Enterprise项目模板而是从空项目开始这样可以避免引入不必要的依赖。选择File New Project在左侧选择Empty Project。项目命名时建议使用小写字母和下划线的组合比如my_first_servlet。项目创建后右键点击项目名选择Add Framework Support然后勾选Web Application。接下来我们需要手动创建几个关键目录在web/WEB-INF下创建classes文件夹用于存放编译后的class文件同样在WEB-INF下创建lib文件夹用于存放第三方jar包在src目录下创建你的包结构比如com.example.servlet配置输出路径是个容易出错的地方。打开Project StructureCtrlAltShiftS在Paths选项卡中将Output path和Test output path都指向WEB-INF/classes目录。这一步确保了编译后的文件会被自动放到正确位置。3. 集成Tomcat服务器现在我们来配置Tomcat10服务器。点击右上角的Add Configuration按钮选择Tomcat Server Local。这里有几个关键配置点需要注意在Server选项卡中设置Application server为你解压的Tomcat10目录将HTTP port改为8081避免与系统其他服务冲突勾选Deploy applications configured in Tomcat instance在Deployment选项卡中点击号添加Artifact选择war exploded类型将Application context改为/这样访问时就不需要加项目名了配置完成后先不要急着启动我们还需要解决一个常见问题Servlet API依赖。右键项目选择Open Module Settings在Dependencies中添加Library选择Tomcat10安装目录下的lib/servlet-api.jar。这个步骤解决了后续Servlet类找不到的问题。4. 创建第一个Servlet现在我们可以创建第一个Servlet了。右键src目录选择New如果没有Servlet选项需要手动添加模板打开File Settings Editor File and Code Templates点击号添加Servlet模板。模板内容可以这样设置import jakarta.servlet.*; import jakarta.servlet.http.*; import jakarta.servlet.annotation.*; WebServlet(name ${NAME}, value /${NAME}) public class ${NAME} extends HttpServlet { Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(text/html;charsetUTF-8); PrintWriter out response.getWriter(); out.println(htmlbody); out.println(h1Hello from ${NAME}!/h1); out.println(/body/html); } Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }创建FirstServlet类后你会注意到WebServlet注解。这是Servlet 5.0Tomcat10支持引入的简化配置方式不再需要web.xml。value属性指定了访问路径你可以设置多个路径比如value {/first, /primary}。5. 解决常见问题在实际开发中我遇到过几个典型问题这里分享解决方案乱码问题这是新手最常遇到的。必须在doGet方法开始时设置response的contentType如response.setContentType(text/html;charsetUTF-8);404错误通常有三个原因URL路径写错检查WebServlet中的value值项目没有正确部署到Tomcat检查Deployment配置Tomcat没有正常启动查看控制台日志类找不到错误确保servlet-api.jar已正确添加为Provided依赖而不是Compile依赖。Provided表示这个jar会在运行时由Tomcat提供。热部署失效在Tomcat配置的Server选项卡中设置On Update action为RedeployOn frame deactivation为Update classes and resources。这样修改代码后只需保存文件不需要重启服务器。6. 进阶配置与优化当项目规模增大时我们需要考虑更专业的配置日志配置建议使用SLF4JLogback组合。添加依赖后在WEB-INF/classes下创建logback.xml配置文件。这样可以在Servlet中通过LoggerFactory获取logger实例。数据库连接池不要在每个Servlet中创建新的数据库连接。推荐使用Tomcat自带的JDBC连接池在context.xml中配置Resource namejdbc/myDB authContainer typejavax.sql.DataSource maxTotal100 maxIdle30 maxWaitMillis10000 usernameroot password driverClassNamecom.mysql.cj.jdbc.Driver urljdbc:mysql://localhost:3306/mydb/过滤器配置对于字符编码、权限检查等通用功能应该使用Filter而不是在每个Servlet中重复实现。创建Filter类后同样可以使用WebFilter注解配置。7. 调试技巧IDEA2024提供了强大的调试功能。在Servlet中设置断点后以Debug模式启动Tomcat。几个实用技巧在Variables窗口可以查看所有请求参数使用Evaluate Expression功能AltF8可以实时执行代码片段对于复杂的请求可以使用HTTP Client工具模拟请求遇到难以复现的问题时可以开启Tomcat的访问日志。在conf/server.xml中找到AccessLogValve取消注释并修改directory属性为你的日志路径。8. 项目打包与部署开发完成后我们需要将项目打包成war文件。在IDEA右侧的Maven面板中执行package命令。如果想手动打包确保所有编译后的class文件都在WEB-INF/classes中将依赖的jar包放入WEB-INF/lib在项目根目录执行jar -cvf myapp.war *部署到生产环境时将war文件放入Tomcat的webapps目录即可。Tomcat会自动解压并部署应用。对于频繁更新的场景建议使用Tomcat Manager应用进行热部署。在开发过程中我发现保持Tomcat和IDEA版本同步很重要。曾经遇到过因为版本不匹配导致的奇怪问题花费了大量时间排查。另外定期清理Tomcat的work目录可以避免很多缓存引起的问题。