手把手教你在Eclipse上创建一个Maven+Spring MVC的HelloWord项目

使用了框架进行开发以后,我们用到的jar包会越来越多,每次都手动下载然后拷贝进项目的话,这样会比较麻烦,而且有时候不能很好地处理jar包传递依赖的问题。庆幸的是,Maven出现了,它可以极大地方便了我们对依赖的管理。只要填写好pom.xml这个配置文件,那么Maven会自动为我们下载该jar包及其所依赖的jar包,所以这里我创建一个基于Maven的Spring MVC项目。

        创建Maven项目,首先得安装好Maven环境。如未安装好环境,可参考文章:Maven的安装和配置


下面是创建的详细步骤:

1、新建项目





2、解决项目报错(没有报错则跳过此步骤)

新建了项目后,我发现项目中报了以下的错。

现解决一下。如果没有报错的话,就忽略此步骤。

解决方法:

(1)右击项目名 -> Buid Path -> Configure Build Path,

(2)选择Libraries选项卡,点击Add Library -> Server Runtime ,

(3)选择一个已建好的tomcat,没有建立tomcat的,请先配置好tomcat。

(4)点击 finish, 可看到如下截图。

点击Apply之后,正常情况下,可以看到项目的红叉已消失。

然后切换到Order and Export 选项:

点击上图的OK之后,可以看到,缺失的资源文件src/main/java和src/test/java已经有了。


注意:作为Maven项目必须包含以下4个资源文件夹,如果没有,需要手动创建。



新建资源文件夹的步骤:




4个资源文件建好之后,还需设置正确的Output folder。




3、更改配置文件pom.xml

这是Maven的主要配置文件,可以在里面配置项目所需要的jar包。


  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/maven-v4_0_0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   <groupId>com.hello</groupId>  
  5.   <artifactId>HelloSpringMVC</artifactId>  
  6.   <version>0.0.1-SNAPSHOT</version>  
  7.   <name>HelloSpringMVC Maven Webapp</name>  
  8.   <url>http://maven.apache.org</url>  
  9.   <dependencies>  
  10.     <dependency>  
  11.       <groupId>junit</groupId>  
  12.       <artifactId>junit</artifactId>  
  13.       <version>3.8.1</version>  
  14.       <scope>test</scope>  
  15.     </dependency>  
  16.     <dependency>  
  17.         <groupId>org.springframework</groupId>  
  18.         <artifactId>spring-web</artifactId>  
  19.         <version>${springVersion}</version>  
  20.     </dependency>  
  21.     <dependency>  
  22.         <groupId>org.springframework</groupId>  
  23.         <artifactId>spring-webmvc</artifactId>  
  24.         <version>${springVersion}</version>  
  25.     </dependency>  
  26.   </dependencies>  
  27.   <build>  
  28.     <finalName>HelloSpringMVC</finalName>  
  29.   </build>  
  30.   <properties>  
  31.     <springVersion>4.2.3.RELEASE</springVersion>  
  32.   </properties>  
  33. </project>  




4、更改配置文件web.xml



  1. <web-app xmlns="http://java.sun.com/xml/ns/javaee"    
  2.       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  3.       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    
  4.       version="3.0">    
  5.     <display-name>HelloSpringMVC</display-name>  
  6.      
  7.      <!-- 前端控制器 -->  
  8.     <servlet>    
  9.         <servlet-name>spring-mvc</servlet-name>  <!-- 名称,真实的文件名需要在这个名字后面加上-servlet后缀 -->  
  10.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--  DispatcherServlet路径,照写 -->  
  11.          
  12.         <!--   这里可以设置前端控制器的路径,如果这一步注释掉,则默认前端控制器的路径为:/WEB-INF/[servlet-name]-servlet.xml  
  13.        <init-param>  
  14.             <param-name>contextConfigLocation</param-name>  
  15.             <param-value>/WEB-INF/configs/spring-mvc-servlet.xml</param-value> 这里配置前端控制器的路径  
  16.         </init-param>    
  17.         -->  
  18.           
  19.         <load-on-startup>1</load-on-startup>  
  20.     </servlet>    
  21.       
  22.     <!-- 拦截所有请求 -->  
  23.     <servlet-mapping>    
  24.         <servlet-name>spring-mvc</servlet-name>     <!-- 这里的名字要和上面的servlet-name统一 -->  
  25.         <url-pattern>/</url-pattern>    
  26.     </servlet-mapping>    
  27. </web-app>  

5、新建前端控制器配置文件

因为这里使用的是默认的路径,所以只需要在WEB-INF目录下创建前端控制器文件。

又因为在web.xml中配置的名称是spring-mvc,所以新建的文件名是spring-mvc-servlet。



6、添加spring-mvc-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:p="http://www.springframework.org/schema/p"   
  5.     xmlns:context="http://www.springframework.org/schema/context"   
  6.     xmlns:mvc="http://www.springframework.org/schema/mvc"   
  7.     xmlns:task="http://www.springframework.org/schema/task"  
  8.     xsi:schemaLocation="  
  9.         http://www.springframework.org/schema/beans   
  10.         http://www.springframework.org/schema/beans/spring-beans-4.2.xsd   
  11.         http://www.springframework.org/schema/context   
  12.         http://www.springframework.org/schema/context/spring-context-4.2.xsd   
  13.         http://www.springframework.org/schema/mvc   
  14.         http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd   
  15.         http://www.springframework.org/schema/task   
  16.         http://www.springframework.org/schema/task/spring-task-4.2.xsd">  
  17.   
  18.     <!-- 扫描路径 -->  
  19.     <context:component-scan base-package="com.springmvc.controller" >  
  20.         <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>  
  21.     </context:component-scan>  
  22.   
  23.     <!-- 配置根视图 -->  
  24.     <mvc:view-controller path="/" view-name="index"/>  
  25.   
  26.     <!-- 激活基于注解的配置 @RequestMapping, @ExceptionHandler,数据绑定 ,@NumberFormat ,  
  27.     @DateTimeFormat ,@Controller ,@Valid ,@RequestBody ,@ResponseBody等  -->  
  28.     <mvc:annotation-driven />  
  29.   
  30.     <!-- 静态资源配置 -->  
  31.     <mvc:resources location="/assets/" mapping="/assets/**"></mvc:resources>  
  32.   
  33.     <!-- 视图层配置 -->  
  34.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  35.         <property name="prefix" value="/WEB-INF/view/"/>  
  36.         <property name="suffix" value=".jsp"/>  
  37.     </bean>  
  38.   
  39. </beans>  


7、添加Controller类

书写HelloController.java的内容

  1. package com.springmvc.controller;  
  2.   
  3. import org.springframework.stereotype.Controller;  
  4. import org.springframework.ui.Model;  
  5. import org.springframework.web.bind.annotation.RequestMapping;  
  6. import org.springframework.web.bind.annotation.RequestMethod;  
  7.   
  8. //url:  http://localhost:8080/HelloSpringMVC/hello/mvc  
  9.   
  10. //告诉DispatcherServlet相关的容器, 这是一个Controller,  
  11. @Controller    
  12.   
  13. //类级别的RequestMapping,告诉DispatcherServlet由这个类负责处理URL。  
  14. //HandlerMapping依靠这个标签来工作  
  15. @RequestMapping(value="/hello")    
  16. public class HelloController {  
  17.           
  18.     //方法级别的RequestMapping, 限制并缩小了URL路径匹配,同类级别的标签协同工作,最终确定拦截到的URL由那个方法处理  
  19.     //并指定访问方法为GET  
  20.       @RequestMapping(value="/mvc",method=RequestMethod.GET)    
  21.         public String HelloWorld(Model model){    
  22.             
  23.             model.addAttribute("message","Hello Spring MVC!!!");  //传参数给前端  
  24.               
  25.           //视图渲染,/WEB-INF/view/HelloWorld.jsp  
  26.             return "HelloWorld";  //页面的名称,根据此字符串会去寻找名为HelloWorld.jsp的页面  
  27.         }    
  28. }  

8、添加页面

新建视图文件夹


 

  

新建页面

注意加.jsp后缀


添加页面内容:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"    
  2.     pageEncoding="UTF-8"%>    
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">    
  4. <html>    
  5. <head>    
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">    
  7. <title>HelloSpringMVC</title>    
  8. </head>    
  9. <body>    
  10. <h1>message:${message}</h1>    
  11. <h1>this is my spring mvc</h1>    
  12. </body>    
  13. </html>   


9、解决错误(无错的可以跳过此步骤)

可以看到,自从添加了pom.xml的内容以后,项目是一直有红叉的,现在基本上Spring MVC的配置已经完成了,那么就来解决一下。

(1)右击项目名->Properties(在最下方) ->拖动左侧栏,找到Deployment Assembly ->移除多余部分。

注意:这里一定要确保Maven Dependencies在 Web Deployment Assembly 中,否则无法访问controller中的url。

(2)将Maven Dependencies从Build Path中移除。


(3)进入Configure Build Path,重新添加Maven Dependencies这个Library

正常情况,项目已经没有不报错了。


10、运行项目

上面这个controller对应的页面如下:



至此基于Maven+Spring MVC的HelloWord项目已创建完毕。


源码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值