File---->Settings:設置 maven 安裝主目錄、maven 的 settings.xml 文件和本地倉庫所在位置html
還能夠繼續設置,maven項目建立時,會聯網下載模版文件,比較大, 使用-DarchetypeCatalog=internal
,不用下載, 建立maven項目速度快java
固然了,爲了以後的項目也能夠,繼續這樣設置web
這個步驟和上面的相似apache
File-->New-->Moduleapi
選擇使用的工程模型:maven-archetype-quickstart : 普通的java項目tomcat
而後下一步app
這就建立了webapp
pom.xml裏面的信息jsp
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--本身項目的座標(gav)--> <groupId>com.md</groupId> <artifactId>01-javase-maven</artifactId> <version>1.0-SNAPSHOT</version> <!--構建項目的配置--> <properties> <!--maven構建項目使用的utf-8,--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--編譯java代碼使用的jdk版本--> <maven.compiler.source>1.8</maven.compiler.source> <!--java項目運行在什麼jdk版本上,這兩個一致,看你本身的jdk版本--> <maven.compiler.target>1.8</maven.compiler.target> </properties> <!-- 依賴,默認加了單元測試的依賴--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> <!--插件 build 目前能夠不要,後面會用--> </project>
File-->New-->Modulemaven
選擇使用的工程模型:maven-archetype-webapp : web工程
剩下的就和建立java的同樣了,這裏就不展現了
顯然,按照 maven archetype 原型建立的 maven web 工程缺乏 maven 項目的完整結構:src-main-java / resources,src-test-java/resources,因此須要咱們手動添加文件目錄
src-main-java / resources,src-test-java/resources
注意:咱們建立的是普通目錄,能夠這樣變成咱們須要的目錄
因爲這樣比較麻煩,也能夠一次性
File -> Project Structure, 選擇Modules:右邊找到java這層機構,在上面有個「Mask as」, 點下Sources, 表示這裏面是源代碼類。
主要就是servlet依賴和jsp依賴
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.md</groupId> <artifactId>02-web-maven</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--加入servlet依賴,servlet的jar--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!--jsp依賴,jsp相關的jar加入進來--> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> </dependencies> </project>
裏面寫以下信息:
package com.md.controller; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * @author MD * @create 2020-08-04 11:39 */ public class HelloServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter pw = response.getWriter(); pw.write("Hello Maven Web"); pw.flush(); pw.close(); } }
還有就是對應的web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.md.controller.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
基本上和Java Web的時候配置是同樣的
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <body> <h2>Hello World!</h2> <a href="/hello" >訪問servlet</a> </body> </html>
而後運行Tomcat,看到上面的就是成功了