码迷,mamicode.com
首页 > 编程语言 > 详细

Eclipse maven构建springmvc项目

时间:2017-08-23 10:25:56      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:前端控制器   handler   text   web   lap   poi   资源库   map   ppi   

今天深圳台风来了,降了点,真尼玛热    ̄へ ̄ ̄へ ̄ ̄へ ̄ ̄へ ̄ ̄へ ̄ ̄へ ̄ ̄へ ̄ ̄へ ̄ ̄へ ̄

今天先从写一个Spring MVC的HelloWorld开始,让我们看看如何搭建起一个Spring mvc的环境并运行程序。

一、Maven环境配置

点击Window -> Preferences

如下图所示,配置settings.xml文件的位置

                                   技术分享

 

 

二、新建Maven项目

2.1 新建项目

 

File-New-Other,选择Dynamic web project

                                                 技术分享

随后选择工作空间:

                                         技术分享

选完路径之后,我们选择构建类型,如下图:

                                        技术分享

接下来,填写工程的Group Id,Artifact Id,如下图:

  这里的Group Id就是大项目的id,Arifact Id就是该项目的Id。就像一个大项目中有许多小项目组成一样。

                                       技术分享

2.2 完善目录

    增加src/main/java,src/test/resources,src/test/java目录。让目录变成标准的maven结构。以下为较为详细目录结构:

src

  -main
      –bin 脚本库
      –java java源代码文件
      –resources 资源库,会自动复制到classes目录里
      –filters 资源过滤文件
      –assembly 组件的描述配置(如何打包)
      –config 配置文件
      –webapp web应用的目录。WEB-INF->web.xml、css、js等
  -test
      –java 单元测试java源代码文件
      –resources 测试需要用的资源库
      –filters 测试资源过滤库
   - site Site(一些文档)

target
LICENSE.txt Project’s license
README.txt Project’s readme

工程根目录下一般就只有src和target两个目录及pom.xml

target是有存放项目构建后的文件和目录,jar包、war包、编译的class文件等。

                                                   技术分享

2.3 将工程转为web工程

 将工程变成web工程

  此时,我们的工程还不是标准的web工程,可以在eclipse中增加web工程的特性,选择工程的Properties,选Project Facets,如下图:

  这里,我们选择Dynamic Web Module,版本选择2.4,这个版本比较通用。如下图:

                            技术分享

此时,我们看到目录中多了一个WebContent目录,由于使用maven构建,web目录是src/main/webapp,所以我们删除WebContent目录。接下来,要配置web项目的发布目录,点击右键,选择Properties,就是Deployment Assembly,如图:

                          技术分享

2.3 pom.xml配置

技术分享
  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3     <modelVersion>4.0.0</modelVersion>
  4     <groupId>SpringMVCExample</groupId>
  5     <artifactId>SpringMVCExample</artifactId>
  6     <packaging>war</packaging>
  7     <version>0.0.1-SNAPSHOT</version>
  8     <name>SpringMVCExample Maven Webapp</name>
  9     <url>http://maven.apache.org</url>
 10     <dependencies>
 11 
 12         <dependency>
 13             <groupId>org.apache.maven.plugins</groupId>
 14             <artifactId>maven-resources-plugin</artifactId>
 15             <version>2.5</version>
 16         </dependency>
 17 
 18         <dependency>
 19             <groupId>junit</groupId>
 20             <artifactId>junit</artifactId>
 21             <version>3.8.1</version>
 22             <scope>test</scope>
 23         </dependency>
 24 
 25         <!-- spring需要的jar包 -->
 26         <dependency>
 27             <groupId>org.springframework</groupId>
 28             <artifactId>spring-context</artifactId>
 29             <version>3.2.4.RELEASE</version>
 30             <type>jar</type>
 31         </dependency>
 32 
 33         <dependency>
 34             <groupId>org.springframework</groupId>
 35             <artifactId>spring-core</artifactId>
 36             <version>3.2.4.RELEASE</version>
 37             <type>jar</type>
 38         </dependency>
 39 
 40         <dependency>
 41             <groupId>org.springframework</groupId>
 42             <artifactId>spring-beans</artifactId>
 43             <version>3.2.4.RELEASE</version>
 44             <type>jar</type>
 45         </dependency>
 46 
 47         <dependency>
 48             <groupId>org.springframework</groupId>
 49             <artifactId>spring-webmvc</artifactId>
 50             <version>3.2.4.RELEASE</version>
 51             <type>jar</type>
 52         </dependency>
 53 
 54         <dependency>
 55             <groupId>org.springframework</groupId>
 56             <artifactId>spring-orm</artifactId>
 57             <version>3.2.4.RELEASE</version>
 58             <type>jar</type>
 59         </dependency>
 60 
 61         <!-- hibernate需要的jar包 -->
 62         <dependency>
 63             <groupId>org.hibernate</groupId>
 64             <artifactId>hibernate-validator</artifactId>
 65             <version>5.1.3.Final</version>
 66         </dependency>
 67 
 68         <dependency>
 69             <groupId>org.hibernate</groupId>
 70             <artifactId>hibernate-core</artifactId>
 71             <version>4.2.16.Final</version>
 72             <type>jar</type>
 73         </dependency>
 74 
 75         <!-- hibernate ehcache需要的jar包 -->
 76         <dependency>
 77             <groupId>org.hibernate</groupId>
 78             <artifactId>hibernate-ehcache</artifactId>
 79             <version>4.3.8.Final</version>
 80         </dependency>
 81 
 82         <!-- 连接MySQL数据库需要的jar包 -->
 83         <dependency>
 84             <groupId>mysql</groupId>
 85             <artifactId>mysql-connector-java</artifactId>
 86             <version>5.1.34</version>
 87         </dependency>
 88 
 89         <!-- dbcp连接池需要的jar包 -->
 90         <dependency>
 91             <groupId>commons-dbcp</groupId>
 92             <artifactId>commons-dbcp</artifactId>
 93             <version>1.4</version>
 94         </dependency>
 95 
 96         <!-- jstl需要的jar包 -->
 97         <dependency>
 98             <groupId>jstl</groupId>
 99             <artifactId>jstl</artifactId>
100             <version>1.2</version>
101         </dependency>
102 
103         <!-- log4j需要的jar包 -->
104         <dependency>
105             <groupId>log4j</groupId>
106             <artifactId>log4j</artifactId>
107             <version>1.2.17</version>
108         </dependency>
109 
110         <!-- 文件上传需要的jar包 -->
111         <dependency>
112             <groupId>commons-fileupload</groupId>
113             <artifactId>commons-fileupload</artifactId>
114             <version>1.2.1</version>
115         </dependency>
116 
117         <dependency>
118             <groupId>commons-io</groupId>
119             <artifactId>commons-io</artifactId>
120             <version>1.4</version>
121         </dependency>
122 
123         <!-- 单元测试需要的jar包 -->
124         <dependency>
125             <groupId>junit</groupId>
126             <artifactId>junit</artifactId>
127             <version>3.8.1</version>
128             <scope>test</scope>
129         </dependency>
130 
131         <dependency>
132             <groupId>javax.servlet.jsp</groupId>
133             <artifactId>jsp-api</artifactId>
134             <version>2.2</version>
135             <type>jar</type>
136         </dependency>
137 
138         <dependency>
139             <groupId>javax.validation</groupId>
140             <artifactId>validation-api</artifactId>
141             <version>1.1.0.Final</version>
142         </dependency>
143 
144         <dependency>
145             <groupId>org.apache.ant</groupId>
146             <artifactId>ant</artifactId>
147             <version>1.7.0</version>
148         </dependency>
149 
150         <!--json包 -->
151         <dependency>
152             <groupId>net.sf.json-lib</groupId>
153             <artifactId>json-lib</artifactId>
154             <version>2.4</version>
155             <classifier>jdk15</classifier>
156         </dependency>
157 
158         <dependency>
159             <groupId>commons-lang</groupId>
160             <artifactId>commons-lang</artifactId>
161             <version>2.5</version>
162         </dependency>
163 
164         <dependency>
165             <groupId>commons-collections</groupId>
166             <artifactId>commons-collections</artifactId>
167             <version>3.1</version>
168         </dependency>
169 
170         <dependency>
171             <groupId>commons-logging</groupId>
172             <artifactId>commons-logging</artifactId>
173             <version>1.2</version>
174         </dependency>
175 
176         <dependency>
177             <groupId>commons-beanutils</groupId>
178             <artifactId>commons-beanutils</artifactId>
179             <version>1.9.0</version>
180         </dependency>
181 
182         <dependency>
183             <groupId>net.sf.ezmorph</groupId>
184             <artifactId>ezmorph</artifactId>
185             <version>1.0.6</version>
186         </dependency>
187 
188         <!--poi操作excel所需jar -->
189         <dependency>
190             <groupId>org.apache.poi</groupId>
191             <artifactId>poi</artifactId>
192             <version>3.9</version>
193         </dependency>
194 
195         <dependency>
196             <groupId>org.apache.poi</groupId>
197             <artifactId>poi-ooxml</artifactId>
198             <version>3.9</version>
199         </dependency>
200     </dependencies>
201 </project>
pom.xml

 

三、SpringMVC配置

3.1 web.xml配置

  A  配置web.xml,使其具有springmvc特性,主要配置两处,一个是ContextLoaderListener,一个是DispatcherServlet。代码如下:

技术分享
<?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">

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

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

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
web.xml

     A1  配置ContextLoaderListener表示,该工程要以spring的方式启动。启动时会默认在/WEB-INF目录下查找applicationContext.xml作为spring容器的配置文件,这里可以初始化一些bean,如DataSource。我们这里什么也不做。代码如下:

技术分享
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3 <beans>
4 </beans>
applicationContext.xml

     A2  配置DispatcherServlet表示,该工程将采用springmvc的方式。启动时也会默认在/WEB-INF目录下查找XXX-servlet.xml作为配置文件,XXX就是DispatcherServlet的名字,该文件中将配置两项重要的mvc特性:

      HandlerMapping,负责为DispatcherServlet这个前端控制器的请求查找Controller;
      ViewResolver,负责为DispatcherServlet查找ModelAndView的视图解析器。      

技术分享
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!-- Bean头部 -->
 3 <beans xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
 5     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
 6     xmlns:util="http://www.springframework.org/schema/util"
 7     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
 8             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
 9             http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd              
10             http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
11     
12     <!-- 激活@Controller模式 -->
13     <mvc:annotation-driven />
14     <!-- 对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 需要更改 -->
15     <context:component-scan base-package="cc.monggo.web.controller" />
16 
17     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
18 
19     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
20         <property name="prefix">
21             <value>/WEB-INF/jsp/</value>
22         </property>
23         <property name="suffix">
24             <value>.jsp</value>
25         </property>
26     </bean>
27 </beans>
servlet

 

2017-08-23

 

始,让我们看看如何搭建起一个Spring mvc的环境并运行程

Eclipse maven构建springmvc项目

标签:前端控制器   handler   text   web   lap   poi   资源库   map   ppi   

原文地址:http://www.cnblogs.com/hy-space/p/7414500.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!