idea搭建springmvc(maven版)


一、創建maven項目

(1)選擇 file > new > project

    

 

    

 

  (2)填寫對應信息,一路點擊next

    

 

    配置自己本地的maven,繼續next

    

 

    命名項目名(隨意寫,但要易懂),點擊 finish

    

 

 

   (3)自動加載maven

    

 

 

     配置web的xml

    

 

 

     等待maven加載完畢,見下圖說明maven創建成功

    

 

 

 

 二、搭建編碼結構

   maven配置完畢后,需搭建項目結構,為編碼做准備,下面簡單給一些文件夾結構供參考,當然不一定非要以下面方式搭建。

  (1) 既然我們使用的是springMVC,就需要將springmvc的相關配置加載到項目中去

     選中項目,右鍵選中 Add Framework Support

    

 

 

     

     勾選中 springMVC ,勾選Download  點擊OK

     

 

 

     

     現在,idea正在加載springMVC的相關jar包

    

 

 

      加載完畢后,左側的項目結構列表中會多出來一個lib的文件夾,我們可以將其刪除(因為我們有maven的pom文件導入jar包)

    

 

  (2)為編碼搭建項目結構列表

    首先我們先看下目前的項目結構情況。

    

 

    ok,接下來在此基礎上開始添加文件夾,各個功能的文件夾以及編碼習慣因人而異,下面給出一些參考。

    <1>. 在main目錄下創建java文件夾,其下分別創建commonutil,controller,dao,service,mapper文件夾,用於存放和管理后台代碼;

    <2>. 在main目錄下創建resources文件夾,用於存放資源文件。

    <3>. 在src目錄下創建test文件夾,用於存放單元測試代碼。

    <4>. 在webapp文件夾下創建res文件夾,其下依次創建js,css,img文件夾,用於存放相應類型的文件。

    <5>. 在WEB-INF文件夾下創建views文件夾,用於存放jsp頁面文件。

     完成創建的完整項目結構見下圖:

    

 

 

 

   (3)結構搭建完畢,我們需要給每個文件夾賦予編碼權限,否則右鍵是創建不了java文件的。

       選擇“File -> Project Structure”,打開對話框,點擊java文件夾,選擇Sources,點擊resources文件夾,選擇Resources,點擊test文件夾,選擇Test Resources。

       點擊apply    ,點擊ok  ,接下來就可以創建java文件了

       

    

  (4)配置maven的pom文件,前面我們說過可以將lib文件夾刪除,在這里直接自動讓maven導入jar包即可

      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>MavenDemo2</groupId>
  <artifactId>test.maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>test.maven 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>
      <!-- junit測試包-->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!--日志包-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.8.0-alpha2</version>
    </dependency>
    <!--mysql驅動包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>6.0.6</version>
    </dependency>
    <!-- JDBC連接池 -->
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.2</version>
    </dependency>
    <!-- DruidDataSource,本工程的dataSource配置使用的Druid -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.29</version>
    </dependency>
    <!--spring相關包-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.3.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>4.3.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.3.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>4.3.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.10</version>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjrt</artifactId>
      <version>1.8.10</version>
    </dependency>
    <!-- 支持jsp相關包 -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <!--servlet/jsp api start-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>3.0-alpha-1</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2.1-b03</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.16</version>
    </dependency>
    <!-- Mybatis管理 start -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.1</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.0</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.33</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>test.maven</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>

  (5)配置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_3_1.xsd"
 5          version="3.1">
 6 
 7     <display-name>Archetype Created Web Application</display-name>
 8     <!--配置首頁-->
 9     <welcome-file-list>
10         <welcome-file>index.jsp</welcome-file>
11     </welcome-file-list>
12     <!--配置springmvc DispatcherServlet-->
13     <servlet>
14         <servlet-name>springMVC</servlet-name>
15         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
16         <init-param>
17             <!--配置dispatcher.xml作為mvc的配置文件-->
18             <param-name>contextConfigLocation</param-name>
19             <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
20         </init-param>
21         <load-on-startup>1</load-on-startup>
22         <async-supported>true</async-supported>
23     </servlet>
24     <servlet-mapping>
25         <servlet-name>springMVC</servlet-name>
26         <url-pattern>/</url-pattern>
27     </servlet-mapping>
28     <!--把applicationContext.xml加入到配置文件中-->
29     <context-param>
30         <param-name>contextConfigLocation</param-name>
31         <param-value>/WEB-INF/applicationContext.xml</param-value>
32     </context-param>
33     <listener>
34         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
35     </listener>
36 </web-app>
View Code

  (6)配置dispatcher-servlet.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:context="http://www.springframework.org/schema/context"
 5        xmlns:mvc="http://www.springframework.org/schema/mvc"
 6        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">
 7     <!--此文件負責整個mvc中的配置-->
 8 
 9     <!--啟用spring的一些annotation -->
10     <context:annotation-config/>
11 
12     <!-- 配置注解驅動 可以將request參數與綁定到controller參數上 -->
13     <mvc:annotation-driven/>
14 
15     <!--靜態資源映射-->
16     <!--本項目把靜態資源放在了webapp的statics目錄下,資源映射如下-->
17     <mvc:resources mapping="/css/**" location="/res/css/"/>
18     <mvc:resources mapping="/js/**" location="/res/js/"/>
19     <mvc:resources mapping="/image/**" location="/res/img/"/>
20     <mvc:default-servlet-handler />  <!--這句要加上,要不然可能會訪問不到靜態資源,具體作用自行百度-->
21 
22     <!-- 對模型視圖名稱的解析,即在模型視圖名稱添加前后綴(如果最后一個還是表示文件夾,則最后的斜杠不要漏了) 使用JSP-->
23     <!-- 默認的視圖解析器 在上邊的解析錯誤時使用 (默認使用html)- -->
24     <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
25         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
26         <property name="prefix" value="/WEB-INF/views/"/><!--設置JSP文件的目錄位置-->
27         <property name="suffix" value=".jsp"/>
28         <property name="exposeContextBeansAsAttributes" value="true"/>
29     </bean>
30 
31     <!-- 自動掃描裝配 -->
32     <context:component-scan base-package="controller"/>
33 
34 </beans>
View Code

  (7)配置applicationContext.xml

1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4        xmlns:context="http://www.springframework.org/schema/context"
5        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">
6     
7     <context:component-scan base-package="java"/>
8 
9 </beans>
View Code

  (8)配置jsp頁面

      在views文件夾下新建一個jsp頁面

1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 <html>
3 <head>
4     <title>welcome</title>
5 </head>
6 <body>
7 訪問成功
8 </body>
9 </html>
View Code

  (9)創建一個controller層的Java文件

 1 package controller;
 2 import org.springframework.stereotype.Controller;
 3 import org.springframework.web.bind.annotation.RequestMapping;
 4 
 5 @Controller
 6 @RequestMapping("/home")
 7 public class DemoController {
 8 
 9     @RequestMapping("/index")
10     public String getStr(){
11         return "index";
12     }
13 }
View Code

    至此,項目結構搭建完畢。

三、配置tomcat(至關重要)

  (1)點擊 Edit Configurations

    

 

 

  (2)配置tomcat

    

 

     在右側Server選項卡中,“Configure”可以配置服務器的名字,自己隨意填寫就好,當然同時可以配置端口號、瀏覽器等信息。

     

 

 

     至此,有些細心的人會發現,上圖出現了警告  Warning: No artifacts configured

   (3)ok,我們先解決它,暫且把tomcat放一邊。

       <1> 打開項目構建配置頁面 

        

 

      <2> 配置如下:

        

 

 

       <3> 點擊ok  

        

 

         繼續點擊ok

        

 

 

      選中 Directory Content ,  選中自己的項目,點擊ok   

  (4)接下來,我們在回到配置tomcat的頁面,繼續(1)操作,選中Deployment選項卡,點擊右側的加號,選中Artifact

      

 

     

    在右側的 斜杠/  后面加上自己的項目名稱,點擊apply   點擊ok

 

 

    關閉窗口,至此配置結束。

四、運行項目

    點擊運行  

    

 

    出現下圖,項目搭建成功(這個是springmvc默認訪問的index頁面)

    

 

    還記得我們之前創建的views下面的index頁面嗎?

    若想指定訪問成功自己的index頁面,我們可以在瀏覽器輸入: http://localhost:8080/AdminDemo/home/index

    其中AdminDemo是我的項目名,讀者可以根據自己起的名字修改即可,當然后面的home和index是對應的controller路徑,讀者也可以自行修改。

    ok,至此一個springMVC的項目結構搭建完畢。

 

 

    本文參考(1):https://www.cnblogs.com/wulisz/p/9371977.html

    本文參考(2):http://www.pianshen.com/article/5928200638/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM