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

文章目录
-
- 前言
- [Maven + Tomcat Web应用程序搭建](#Maven + Tomcat Web应用程序搭建)
-
- 1、使用Maven构建新项目
- 2、单击项目,连续按两次shift键,输入"添加",选择"添加框架支持"
- [3、选择Java Web程序](#3、选择Java Web程序)
- 4、点击"编辑配置"
- 5、按照下图进行配置
- 6、添加工件
- 启动Web应用程序
- 导入包并更新Maven
前言
在文章【Java开发指南 | 第三十五篇】Tomcat安装及配置+IntelliJ Web应用程序搭建中,我们使用了 IntelliJ 进行构建:

尽管这种方式搭建便捷,但在后续引入依赖时,项目需进行额外配置,较为繁琐。
若未正确引入依赖,程序将报错:
java
无法解析类或软件包'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应用程序
访问:
java
http://localhost:200/index.jsp
出现下图说明服务搭建成功:

导入包并更新Maven
例如 index.jsp 内容如下,如果不导入 commons-text 库,程序就无法运行:
java
<%@ 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 文件中添加以下依赖:
java
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.10.0</version> <!-- 使用最新稳定版本 -->
</dependency>
注意:<dependency>
应该放在 <dependencies>
标签内,否则 Maven 无法正确解析依赖。

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

加载过程如图:

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