删掉里面的src目录,以后的项目可以在这个项目里面建立Moudel;这个空的工程就是Maven主工程。
注意:也可以直接就利用外面大的Maven项目来写,但不利于项目结构化,还有之后如果还需要建立Maven的话,需要全部重新建 立项目并且导入jar包,不如主次(父子)工程来得方便。
父项目中会有
<modules> <module>servlet-01</module> </modules>
子项目中会有(如果用的比较新的IDEA,可能子项目中没有这个,可以手动添加,而且必须要添加,否则不能用父项目的依赖)
<parent> <artifactId>javaWeb</artifactId><!--父项目名字--> <groupId>org.example</groupId><!--工程组id(刚创建项目时有)--> <version>1.0-SNAPSHOT</version><!--版本,可自动生成--> </parent>
父项目中的jar包子项目能直接使用(好处1)
Maven项目所需的同样的jar包就只需要在父项目中导入一次(好处2)
例如:
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <!--servlet jar包 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <!--jsp jar包 --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.3</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <!--mysql jar包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> </dependency>
1、修改web.xml为最新的(可直接复制粘贴)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> </web-app>
2、将Maven的结构搭建完整
(1)在main目录下面新建java和resources文件夹
(2)分别标注文件夹
(1)建立相应的文件,编写测试代码
package com.test.servlet; 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; public class HelloServlet extends HttpServlet { //由于get或者post只是请求实现的不同方式,可以互相调用,业务逻辑都一样 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter writer = resp.getWriter();//响应流 writer.print("Hello Servlet");//前端输出 System.out.println("Hello World");//后端输出 } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
(2)建立映射,在web.xml中添加相应代码
<!--注册Servlet--> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.test.servlet.HelloServlet</servlet-class> </servlet> <!--Servlet请求路径--> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>