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項目。