eclipse使用maven搭建spring mvc

时间:2023-01-25 10:05:24

1、 环境配置

a)         Java 1.7

b)         Eclipse luna

c)         Maven3.2.5

d)         Spring 4.1.4

2、 创建maven工程

a)         打开eclipse,file->new->project->Maven->Maven Project

eclipse使用maven搭建spring mvc

b)         下一步

eclipse使用maven搭建spring mvc

c)         选择创建的工程为webapp,下一步

eclipse使用maven搭建spring mvc

d)         填写项目的group id和artifact id。一般情况下,group id写域名的倒序,artifact id写项目名称即可。最后点完成。

eclipse使用maven搭建spring mvc

e)         最初建好后,项目目录结构如下

eclipse使用maven搭建spring mvc

f)          一般的项目目录中,在java Resources目录下,还有src/main/java,src/main/test/java,src/main/test/resources这三个source folder,需要手动创建。在下面的步骤中会讲到如何补齐这三个目录。

 

3、 修改项目基本设置

a)         右键此项目名称->Properties->Java Build path,点击source标签。

eclipse使用maven搭建spring mvc

b)         提示 hello/src/main/java (missing)和hello/src/test/java (missing)。一般的项目目录中,在java Resources目录下,还会有src/main/test/resources这个source folder。将missing的先删除,再重新创建,缺少的直接创建。点右键操作按键进行删除和添加。

eclipse使用maven搭建spring mvc

c)         修改完整,效果如下图

eclipse使用maven搭建spring mvc

d)         接下来再修改libraries的配置,jre使用1.7版本。选中JRE System Library->edit ,更换版本。

eclipse使用maven搭建spring mvc

e)         再修改一下order and export里的配置,主要是调整这四个目录的显示顺序,调为自己喜欢的顺序即可

eclipse使用maven搭建spring mvc

f)          接下来再修改project facets,先将java修改为1.7。

eclipse使用maven搭建spring mvc

Dynamic Web Module无法在这里直接修改为3.0,需要打开工程目录下有一个.settings文件夹,打开org.eclipse.wst.common.project.facet.core.xml,做如下修改:

<installed facet="jst.web" version="3.0"/>

重启eclipe就可以看到更改生效了。

4、 Eclipse中maven的配置

a)  window->properties->maven,勾选 download repository index updates on startup

eclipse使用maven搭建spring mvc

5、 简单Spring mvc的配置

a)         打开项目中的pom.xml文件,并点击Dependencies标签,点击add添加新的依赖

b)         如果知道依赖的group id和artifact id,可以直接填写,如果不清楚,可以输入关键字进行查询,或是到http://search.maven.org网站查询


eclipse使用maven搭建spring mvc

c)         需要添加的依赖有:spring-webmvc,版本为4.1.4. RELEASE。完整的POM.XML文件内容如下:

<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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.springstudy</groupId>

  <artifactId>study</artifactId>

  <packaging>war</packaging>

  <version>0.0.1-SNAPSHOT</version>

  <name>study Maven Webapp</name>

  <url>http://maven.apache.org</url>

  <properties>

                   <spring.version>4.1.4.RELEASE</spring.version>

         </properties>

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.1</version>

      <scope>test</scope>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-webmvc</artifactId>

    <version>${spring.version}</version>

    </dependency>

  </dependencies>

  <build>

    <finalName>study</finalName>

  </build>

</project>
d)         打开src/main/webapp/WEB-INF/web.xml文件,最终修改如如下内容: 

<?xml version="1.0" encoding="UTF-8"?>

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

         xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

         id="study" version="2.5">

         <display-name>Archetype Created Web Application</display-name>

         <description>sprintMVC环境搭建</description>

         <!-- 加载Spring配置文件 -->

         <context-param>

                   <param-name>contextConfigLocation</param-name>

                   <param-value>classpath:/configs/spring-*.xml</param-value>

         </context-param>

         <!-- Spring监听 -->

         <listener>

                   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

         </listener>

         <!-- Spring MVC配置 -->

         <servlet>

                   <servlet-name>Dispatcher</servlet-name>

                   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

                   <!-- 自定义spring mvc的配置文件名称和路径 -->

                   <init-param>

                            <param-name>contextConfigLocation</param-name>

                            <param-value>classpath:configs/spring-servlet.xml</param-value>

                   </init-param>

                   <load-on-startup>1</load-on-startup>

         </servlet>

         <!-- spring mvc 请求后缀 -->

         <servlet-mapping>

                   <servlet-name>Dispatcher</servlet-name>

                   <url-pattern>/</url-pattern>

         </servlet-mapping>

         <welcome-file-list>

                   <welcome-file>index.jsp</welcome-file>

         </welcome-file-list>

</web-app>

e)         在Java Resources/scr/main/resources目录下,创建configs文件夹,以便存放在web.xml中声明的配置路径

f)          在Java Resources/scr/main/resources/configs目录下,创建spring-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:jee="http://www.springframework.org/schema/jee"

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

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

         xsi:schemaLocation="http://www.springframework.org/schema/beans

                                           http://www.springframework.org/schema/beans/spring-beans-4.1.xsd

                                                   http://www.springframework.org/schema/context

                                                   http://www.springframework.org/schema/context/spring-context-4.0.xsd

                                                   http://www.springframework.org/schema/jee

                                                        http://www.springframework.org/schema/jee/spring-jee-4.1.xsd

                                                        http://www.springframework.org/schema/mvc

                                                   http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd

                                                   http://www.springframework.org/schema/util 

                                                   http://www.springframework.org/schema/util/spring-util-4.1.xsd">

 

        

         <context:annotation-config/>

         <context:component-scan base-package="com.springstudy.controller" />

         <mvc:annotation-driven />

        <mvc:default-servlet-handler/>

         <mvc:resources mapping="/styles/**" location="/styles/" />

         <mvc:resources mapping="/scripts/**" location="/scripts/" />

         <mvc:resources mapping="/images/**" location="/images/" />

 

         <bean

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

                   <property name="prefix" value="/WEB-INF/views/" />

                   <property name="suffix" value=".jsp" />

         </bean>

</beans>
g)         创建controller包,在spring-servlet.xml文件中,<context:component-scan base-package= "com.springstudy.controller"  />已经指定了路径

eclipse使用maven搭建spring mvc
h)         在src/main/webapp/WEB-INF目录下,创建views文件,在spring-servlet.xml文件中,<property name="prefix" value="/WEB-INF/views/" />已指定了视图文件路径

eclipse使用maven搭建spring mvc

i)           创建第一个controller文件HelloController.java,完整的文件内容如下:

package com.springstudy.controller;

 

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

 

@Controller

public class HelloController {

 

         @RequestMapping("/hello")

         public ModelAndView hello(){

                   ModelAndView mv =new ModelAndView();

                   mv.addObject("spring", "spring mvc");

                   mv.setViewName("hello");

                   return mv;

         }

}
j)           添加src/main/webapp/WEB-INF/views/hello.jsp文件,内容如下:

<!DOCTYPE html>

<html>

         <head>

                   <meta charset="utf-8">

                   <title>sprint hello</title>

         </head>

         <body>hello ${spring}!

         </body>

</html>

6、 将项目发布到tomcat

a)         在eclipse中添加tomcat 7

b)         在tomcat添加完成后,双击,设置overview选项卡中Server Locations的设置。

                         i.              将 Use Tomcat installation(takes control of Tomcat installation)选中

                       ii.              将Deploy path的内容改为:webapps

                      iii.              保存

c)         右键tomcat,Add and Remove… ,添加study

eclipse使用maven搭建spring mvc

d)         启动tomcat

e)         浏览器打开http://localhost:8080/study/hello,访问成功!如下图

eclipse使用maven搭建spring mvc

操作结束!