【Java开发指南 | 第三十五篇】Maven + Tomcat Web应用程序搭建

发布于:2025-03-09 ⋅ 阅读:(19) ⋅ 点赞:(0)

读者可订阅专栏:Java开发指南 |【CSDN@秋说】

在这里插入图片描述

前言

在文章【Java开发指南 | 第三十五篇】Tomcat安装及配置+IntelliJ Web应用程序搭建中,我们使用了 IntelliJ 进行构建:

在这里插入图片描述

尽管这种方式搭建便捷,但在后续引入依赖时,项目需进行额外配置,较为繁琐。

若未正确引入依赖,程序将报错:

无法解析类或软件包'commons!
无法解析类或软件包'text':1
无法解析类'StringEscapeUtils' :1
无法解析方法'getParameter(String)':18
无法解析符号'StringEscapeUtils':19
无法解析方法'println(String)':21

要解决这种问题,有两种方法:

  • 手动下载并添加 JAR 文件到 WEB-INF/lib 目录中。
  • 通过 Maven 引入依赖

为了程序构建后节省时间,建议采用Maven构建Web程序,

先安装配置Maven:【Java开发指南 | 第三十三篇】Maven安装配置详细教程

剩余步骤如下。

Maven + Tomcat Web应用程序搭建

1、使用Maven构建新项目

在这里插入图片描述

2、单击项目,连续按两次shift键,输入"添加",选择"添加框架支持"

在这里插入图片描述

3、选择Java Web程序

在这里插入图片描述

4、点击"编辑配置"

在这里插入图片描述

5、按照下图进行配置

  • URL所示内容表示:个人所需的端口号,启动服务时默认打开index.jsp文件

  • 应用程序服务器填入tomcat的绝对路径

在这里插入图片描述

设置程序上下文为/

在这里插入图片描述

6、添加工件

在这里插入图片描述

启动Web应用程序

访问:

http://localhost:200/index.jsp

出现下图说明服务搭建成功:

在这里插入图片描述

导入包并更新Maven

例如 index.jsp 内容如下,如果不导入 commons-text 库,程序就无法运行:

<%@ page import="org.apache.commons.text.StringEscapeUtils" contentType="text/html; charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>XSS 测试</title>
</head>
<body>
<h1>JavaScript中直接使用用户输入导致XSS</h1>
<form action="index.jsp" method="get">
  <label>请输入内容:</label>
  <input type="text" name="input">
  <button type="submit">提交</button>
</form>
<h2>输出结果:</h2>
<p>
  <%
    String userInput = request.getParameter("input");
    String safeInput = StringEscapeUtils.escapeHtml4(userInput);  // 转义HTML
    if(userInput != null){
      out.println("<script>var input = '" + safeInput + "';</script>");
    }
  %>
</p>
</body>
</html>

此时需要在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.10.0</version> <!-- 使用最新稳定版本 -->
</dependency>

注意:<dependency> 应该放在 <dependencies> 标签内,否则 Maven 无法正确解析依赖。

在这里插入图片描述

接着点击Maven,再重新加载所有Maven项目:

在这里插入图片描述

加载过程如图:

在这里插入图片描述

此后开启服务,在浏览器访问即可。