使用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