概述
下面我们来学习如何使用 Maven 创建一个 Java Web 应用程序
#创建 Maven 项目
选择 File
-> New
-> Project...
选择 Maven
项目
填写项目信息
选择工作空间
#目录结构
Java Web 的 Maven 基本结构如下:
├─src
│ ├─main
│ │ ├─java
│ │ ├─resources
│ │ └─webapp
│ │ └─WEB-INF
│ └─test
│ └─java
结构说明:
src
:源码目录src/main/java
:Java 源码目录src/main/resources
:资源文件目录src/main/webapp
:Web 相关目录src/test
:单元测试
#IDEA Maven 项目管理
在 IDEA 界面的右侧 Maven Projects
选项,可以管理 Maven 项目的整个生命周期、插件、依赖等
#完善 Java Web 程序
#POM
修改 pom.xml
配置,内容如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>com.funtl</groupId> 8 <artifactId>hello-maven</artifactId> 9 <version>1.0.0-SNAPSHOT</version> 10 <packaging>war</packaging> 11 12 <dependencies> 13 <dependency> 14 <groupId>javax.servlet</groupId> 15 <artifactId>javax.servlet-api</artifactId> 16 <version>4.0.1</version> 17 <scope>provided</scope> 18 </dependency> 19 20 <dependency> 21 <groupId>org.slf4j</groupId> 22 <artifactId>log4j-over-slf4j</artifactId> 23 <version>1.7.25</version> 24 </dependency> 25 </dependencies> 26 </project>
配置说明:
packaging
:打包方式,这里是war
包,表示为 Java Web 应用程序dependencies
:项目依赖配置,整个项目生命周期中所需的依赖都在这里配置
#创建测试用 Servlet
创建一个 Servlet
用于测试请求
1 package com.funtl.hello.maven.servlet; 2 3 import javax.servlet.ServletException; 4 import javax.servlet.http.HttpServlet; 5 import javax.servlet.http.HttpServletRequest; 6 import javax.servlet.http.HttpServletResponse; 7 import java.io.IOException; 8 9 public class HelloServlet extends HttpServlet { 10 11 @Override 12 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 13 req.getRequestDispatcher("/index.jsp").forward(req, resp); 14 } 15 16 @Override 17 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 18 super.doPost(req, resp); 19 } 20 }
#创建测试用 JSP
创建一个 JSP
页面,用于测试请求
1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <html> 3 <head> 4 <title>Title</title> 5 </head> 6 <body> 7 Hello Maven 8 </body> 9 </html>
#创建 Log4J 的配置文件
在 src/main/resources
目录下创建 log4j.properties
配置文件,内容如下:
1 log4j.rootLogger=INFO, console, file 2 3 log4j.appender.console=org.apache.log4j.ConsoleAppender 4 log4j.appender.console.layout=org.apache.log4j.PatternLayout 5 log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n 6 7 log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 8 log4j.appender.file.File=logs/log.log 9 log4j.appender.file.layout=org.apache.log4j.PatternLayout 10 log4j.appender.A3.MaxFileSize=1024KB 11 log4j.appender.A3.MaxBackupIndex=10 12 log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n
#配置 web.xml
web.xml
配置文件如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 5 version="4.0"> 6 7 <servlet> 8 <servlet-name>HelloServlet</servlet-name> 9 <servlet-class>com.funtl.hello.maven.servlet.HelloServlet</servlet-class> 10 </servlet> 11 <servlet-mapping> 12 <servlet-name>HelloServlet</servlet-name> 13 <url-pattern>/servlet/hello</url-pattern> 14 </servlet-mapping> 15 </web-app>
#测试运行
按照之前章节 第一个 IDEA 应用程序
配置完 Tomcat
后直接运行,打开浏览器访问 http://localhost:8080 显示如下:
Hello Maven