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,看到上面的就是成功了