使用idea創建spring +spring mvc 的 maven項目(教學)


電腦系統:windows 10

本機java相關的環境 : jdk 1.8 ,tomcat 8.5 ,maven 3.5.4 ,idea2017

 

下面,打開idea,開始新建項目

 

打開idea,file-new-project

勾上創建模板的選項,選擇maven-archetype-webapp

 

點擊next

 

填寫groupid 和artifactId ,這里說明一下,groupId一般是自己機構的名稱,artifactId可以看作是項目的名稱。填好后點擊next

 

maven環境的一些選項,如下圖

點擊next

選擇項目名字以及項目存放的位置

選擇好后點擊finish

 

根據我們選擇的maven-archetype-webapp模板,會生成一下目錄結構

在webapp的同級目錄新建兩個文件夾,java(用來放源代碼),resources(用來放資源配置文件)

如上圖,對着java文件夾點擊鼠標右鍵,將它標記為sources root 即源代碼的根目錄

將resources文件夾標記為resources root

 

 

點擊右上角的三角形,如下圖,點擊edit..

 

添加tomcat 服務器

選擇deployment

點擊ok,點擊右上角的運行,成功運行則會出現hello word 歡迎頁面

現在,一個普通的web環境就已經搭建好了,現在我們要加入 spring,spring mvc配置

 

將spring的相關依賴添加到pom.xml中,讓maven去遠程倉庫中下載相關jar包

參考依賴如下:

 

<!--測試-->

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>4.12</version>

      <scope>test</scope>

    </dependency>

    <!--日志-->

    <dependency>

      <groupId>org.slf4j</groupId>

      <artifactId>slf4j-log4j12</artifactId>

      <version>1.7.21</version>

    </dependency>

    <!--J2EE-->

    <dependency>

      <groupId>javax.servlet</groupId>

      <artifactId>javax.servlet-api</artifactId>

      <version>3.1.0</version>

    </dependency>

    <dependency>

      <groupId>javax.servlet.jsp</groupId>

      <artifactId>jsp-api</artifactId>

      <version>2.2</version>

    </dependency>

    <dependency>

      <groupId>javax.servlet</groupId>

      <artifactId>jstl</artifactId>

      <version>1.2</version>

    </dependency>

    <!--mysql驅動包-->

    <dependency>

      <groupId>mysql</groupId>

      <artifactId>mysql-connector-java</artifactId>

      <version>5.1.35</version>

    </dependency>

    <!--springframework-->

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-web</artifactId>

      <version>4.2.6.RELEASE</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-webmvc</artifactId>

      <version>4.2.6.RELEASE</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-context</artifactId>

      <version>4.2.6.RELEASE</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-test</artifactId>

      <version>4.2.6.RELEASE</version>

    </dependency>

      <dependency>

          <groupId>org.springframework</groupId>

          <artifactId>spring-jdbc</artifactId>

          <version>4.2.6.RELEASE</version>

      </dependency>

    <dependency>

      <groupId>com.github.stefanbirkner</groupId>

      <artifactId>system-rules</artifactId>

      <version>1.16.1</version>

      <scope>test</scope>

    </dependency>

    <dependency>

      <groupId>org.aspectj</groupId>

      <artifactId>aspectjweaver</artifactId>

      <version>1.8.9</version>

    </dependency>

    <!--其他需要的包-->

    <dependency>

        <groupId>org.apache.commons</groupId>

        <artifactId>commons-lang3</artifactId>

        <version>3.4</version>

    </dependency>

    <dependency>

        <groupId>commons-fileupload</groupId>

        <artifactId>commons-fileupload</artifactId>

        <version>1.3.1</version>

    </dependency>

<!--添加java對象注解轉json支持-->

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-core</artifactId>

<version>2.8.5</version>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>2.8.5</version>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-annotations</artifactId>

<version>2.8.5</version>

</dependency>

 

 

 

 

Spring jar包依賴下載好以后,接下來添加spring的配置文件

 

 

 

 

點擊ok,可以看到多了兩個配置文件

Web.xml中也會增加一些配置

 

 

到現在,我們的spring,spring mvc就已經配置好了

 

 

測試一下 dispatcher servlet轉發請求

 

增加TestController類,和一個test.jsp文件,目錄結構如圖

 

dispatcher-servlet.xml 配置如下

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd">

<!--使用注解的包,包括子集-->

<context:component-scanbase-package="com.sicau.controller"/>

<!--跨域訪問,不需要的可以不加-->

<mvc:cors>

<mvc:mappingpath="/**/**"

allowed-origins="*"

allowed-methods="POST,GET,OPTIONS,DELETE,PUT"

allowed-headers="Content-Type,Access-Control-Allow-Headers,Authorization,X-Requested-With"

allow-credentials="true"/>

</mvc:cors>

<!--默認注解支持-->

<mvc:annotation-driven>

<mvc:message-converters>

<beanclass="org.springframework.http.converter.StringHttpMessageConverter">

<propertyname="supportedMediaTypes">

<list>

<value>text/plain;charset=UTF-8</value>

<value>text/html;charset=UTF-8</value>

</list>

</property>

</bean>

<beanclass="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

<propertyname="supportedMediaTypes">

<list>

<value>text/html;charset=UTF-8</value>

<value>text/plain;charset=UTF-8</value>

<value>application/json;charset=UTF-8</value>

</list>

</property>

</bean>

</mvc:message-converters>

</mvc:annotation-driven>

 

<!--結果視圖解析器-->

<beanid="viewResolver"

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<propertyname="prefix"value="/"/>

<propertyname="suffix"value=".jsp"/>

</bean>

 

</beans>

 

 

Test.jsp中的代碼如圖

運行程序,瀏覽器輸入http://localhost:8080/toTest.form,成功跳轉到test頁面

 

控制台打印出“進入toTest方法”字樣

 

由於web.xml自動生成的是servlet 2.3版本的配置,而我們項目中需要用servlet 3.0的一些東西。所以需要改一下web.xml servlet版本

 

 

更改的地方代碼如下:

 

<web-appversion="3.0"xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

 

 

檢查是否生效

返回test頁面的同時,返回一個數據,name

 

 

在test.jsp頁面中 ,使用el表達式訪問name數據

el表達式需要servlet 3.0支持,所以可以用來測試

 

運行服務器,瀏覽器訪問如下圖,可以正確顯示name的數據則沒有問題

 

 


免責聲明!

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



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