1、创建maven项目
在idea中创建maven项目比较的简单,因为IDEA默认已经整合了maven,我们只需要按照下面的步骤进行操作即可:
(1)单机“create New Project”按钮,弹出New Project 对话框。
(2)选择maven项目,单击“”next"。
(3)输入GroupId、ArtifactId、Version,单击“Finish”。
(4)输入项目的名称
(需要说明一下在idea中没有workspace一说,每个项目就是一个workspace)
按照上面的操作,我们轻松的就创建了一个maven项目,项目的结构如图:
和eclipse中不同的是在idea中生成的maven项目没有mian/test/resources目录。默认生成的pom文件应该是的配置:
<?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>org.smart4j</groupId> <artifactId>chapter1</artifactId> <version>1.0-SNAPSHOT</version> </project>
这个是maven的基本的配置,下面我们需要加入一些常用的配置。首先我们需要统一源代码的编码地方式,配置如下:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
除了配置需要统一的原代码的编码方式以外我们还需要统一源代码与编译输出的jdk的版本,配置如下:
<build> <plugins> <plugin> <!--Compile--> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
这个两个配置是一个maven项目所必须的配置,其实还有许多的配置,这里我只讲必须配置的。目前,我们只是创建了一个maven项目,下面我们需要在把这个maven项目转化为web项目。
2、转为java web项目
(1)首先我们需要在main目录下创建webapp目录。
(2)在webapp目录下添加一个WEB-INF目录。
(3)在WEB-INF目录下添加一个web.xml文件。这里我们创建的是serlet3.0,所以在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_3_1.xsd" version="3.1"> </web-app>
由于java web项目一般打的是war包,所以需要在pom.xm文件中添加:
<packaging>war</packaging>
默认打的是jar包。
(4)添加java web所依赖的jar包。java web所依赖的jar包分别是servlet、jsp、JSTL,在pom文件中加入依赖:
<dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>runtime</scope> </dependency> </dependencies>
这里需要说明一下:如果某些依赖只需要参与编译而无须打包(例如在tomcat中自带了servlet与jsp所对应的jar包)可以将其的scope设置为provided,而scope为runtime表示这些依赖只是运行时需要但是无须参与编译。
现在一个java web项目已经搭建完毕,下面我们来写一个servlet来测试一下。在servlet 3.0中允许我们通过注解创建servlet,代码如下:
@WebServlet("/hello") public class HelloServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setAttribute("username","java"); req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req,resp); } }
在WEN-INF目录下创建一个jsp文件夹,在新建的jsp文件夹中创建一个hello.jsp。代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1>hello ${username}</h1> </body> </html>
把写好的web项目部署到tomcat上,启动tomcat后访问对应的servlet后输出:
至此,我们就在idea上创建了一个最简单的java web项目。