讀者可訂閱專欄:Java開發指南 |【CSDN@秋說】
文章目錄
- 前言
- Maven + Tomcat Web應用程序搭建
- 1、使用Maven構建新項目
- 2、單擊項目,連續按兩次shift鍵,輸入"添加",選擇"添加框架支持"
- 3、選擇Java Web程序
- 4、點擊"編輯配置"
- 5、按照下圖進行配置
- 6、添加工件
- 啟動Web應用程序
- 導入包并更新Maven
前言
在文章【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); // 轉義HTMLif(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項目:
加載過程如圖:
此后開啟服務,在瀏覽器訪問即可。