IntelliJ IDEA maven 構(gòu)建簡單springmvc項目(圖文教程)
環(huán)境:
- apache-tomcat-8.5.15
- jdk1.8.0_172
- IDEA
建立一個maven-webapp項目:Create New Project
后點擊next
然后next
可以選擇默認(rèn)自帶的maven,還可以修改配置默認(rèn)的maven的倉庫地址使加快下載速度,或者本地安裝的apache-maven-3.5.2。
然后next
然后finish.
添加pom依賴
創(chuàng)建好之后的項目目錄如圖所示
打開pom.xml,添加依賴
<?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.xuan</groupId> <artifactId>springmvc</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>springmvc Maven Webapp</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--spring--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.5.RELEASE</version> </dependency> <!--注解--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.2.7.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.3</version> </dependency> <!-- java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> <build> <finalName>springmvc</finalName> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.0.0</version> </plugin> <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.20.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.0</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> </build> </project>
建立相應(yīng)的目錄
項目創(chuàng)建完成后,src-main下建立java目錄后,是無法在該目錄下創(chuàng)建新的包和java類等文件的。在idea中需要對目錄進(jìn)行標(biāo)注。
File->Project Structure:
現(xiàn)在還沒有創(chuàng)建對應(yīng)的目錄,然后創(chuàng)建目錄后,選擇對應(yīng)的標(biāo)注:
- Sources 一般用于標(biāo)注類似 src 這種可編譯目錄。有時候我們不單單項目的 src 目錄要可編譯,還有其他一些特別的目錄也許我們也要作為可編譯的目錄,就需要對該目錄進(jìn)行此標(biāo)注。只有 Sources 這種可編譯目錄才可以新建 Java 類和包,這一點需要牢記。
- Tests 一般用于標(biāo)注可編譯的單元測試目錄。在規(guī)范的 maven 項目結(jié)構(gòu)中,頂級目錄是 src,maven 的 src 我們是不會設(shè)置為 Sources 的,而是在其子目錄 main 目錄下的 java 目錄,我們會設(shè)置為 Sources。而單元測試的目錄是 src - test - java,這里的 java 目錄我們就會設(shè)置為 Tests,表示該目錄是作為可編譯的單元測試目錄。一般這個和后面幾個我們都是在 maven 項目下進(jìn)行配置的,但是我這里還是會先說說。從這一點我們也可以看出 IntelliJ IDEA 對 maven 項目的支持是比較徹底的。Resources 一般用于標(biāo)注資源文件目錄。在 maven 項目下,資源目錄是單獨劃分出來的,其目錄為:src - main -resources,這里的
- resources 目錄我們就會設(shè)置為 Resources,表示該目錄是作為資源目錄。資源目錄下的文件是會被編譯到輸出目錄下的。
- Test Resources 一般用于標(biāo)注單元測試的資源文件目錄。在 maven 項目下,單元測試的資源目錄是單獨劃分出來的,其目錄為:src - test -resources,這里的 resources 目錄我們就會設(shè)置為 Test Resources,表示該目錄是作為單元測試的資源目錄。資源目錄下的文件是會被編譯到輸出目錄下的。
- Excluded 一般用于標(biāo)注排除目錄。被排除的目錄不會被 IntelliJ IDEA 創(chuàng)建索引,相當(dāng)于被 IntelliJ IDEA 廢棄,該目錄下的代碼文件是不具備代碼檢查和智能提示等常規(guī)代碼功能。通過上面的介紹,我們知道對于非 maven 項目我們只要會設(shè)置 src 即可。
(引用自http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/eclipse-java-web-project-introduce.html)
標(biāo)注完后,建立如下的目錄。
配置web.xml
如果用maven自動生成的web.xml,可能讀取不到springmvc返回傳入的參數(shù)值,應(yīng)該要修改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>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
新文件:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
注意要替換原來文件web-app的屬性
啟動時也會默認(rèn)在/WEB-INF目錄下查找XXX-servlet.xml作為配置文件,XXX就是DispatcherServlet的名字,也可以手動配置路徑,現(xiàn)在使用默認(rèn)的方式,
在WEB-INF目錄下面創(chuàng)建mvc-dispatcher-servlet.xml:
mvc-dispatcher-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <context:component-scan base-package="com.xuan.springmvc.controller"/> <mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
添加views目錄: 把index.jsp拖到此目錄下面:
編輯代碼路徑/src/main/java,添加com.xuan.springmvc.controller包,增加MainController.java:
package com.xuan.springmvc.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class MainController { @RequestMapping(value = "/index") public String index() { return "index"; } }
配置tomcat服務(wù)
Configure...配置tomcat路徑
綠色+號,把項目加到部署列表
輸入服務(wù)器名稱和選擇tomcat版本。
綠色+號,把項目加到部署列表
注意要選擇第二項:
最后啟動tomcat服務(wù)運行調(diào)試,顯示結(jié)果:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于FlashPaper實現(xiàn)JSP在線閱讀代碼示例
這篇文章主要介紹了基于FlashPaper實現(xiàn)JSP在線閱讀代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10編譯大型Java項目class沖突導(dǎo)致報錯的解決方案
這篇文章給大家盤點編譯大型項目class沖突導(dǎo)致報錯的解決方案,文中通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下2023-10-10Spring中過濾器(Filter)和攔截器(Interceptor)的區(qū)別和聯(lián)系解析
在我們?nèi)粘5拈_發(fā)中,我們經(jīng)常會用到Filter和Interceptor,這篇文章主要介紹了Spring中過濾器(Filter)和攔截器(Interceptor)的區(qū)別和聯(lián)系?,需要的朋友可以參考下2022-10-10解決idea2020.2遇到pom.xml文件報錯maven插件tomcat7的問題
這篇文章主要介紹了idea2020.2遇到pom.xml文件報錯maven插件tomcat7的問題,本文給大家分享解決方法,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Zookeeper如何實現(xiàn)分布式服務(wù)配置中心詳解
Zookeeper在實際使用場景很多,比如配置中心,分布式鎖,注冊中心等,下面這篇文章主要給大家介紹了關(guān)于Zookeeper如何實現(xiàn)分布式服務(wù)配置中心的相關(guān)資料,需要的朋友可以參考下2021-11-11