Maven:
使用Maven的好处:方便对依赖包的管理,只需要填写 pom.xml 这个配置文件之后,Maven 机会自动帮助我们下载所依赖的 jar 包。
安装Maven环境:
第一步:
从 Apache 官网下载并解压缩安装 Apache Maven。下载地址:Apache Maven 压缩包下载地址
下图是我的下载地址及解压缩之后的文件夹:
第二步:
配置 Maven 中的 config 文件夹中的配置文件 settings.xml。
将settings.xml文件中的内容更改为以下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--
配置本地MAVEN仓库位置,默认在:C:\Users\机器名\.m2\repository
<localRepository>D:\Program Files\mvn\</localRepository>
** Eclipse->Windows->Preferences->java->Build Path->Classpath Variables
-->
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
<mirror>
<id>aliyun</id>
<name>aliyun Maven</name>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<profiles>
</profiles>
<activeProfiles>
</activeProfiles>
</settings>
settings.xml
使用阿里云提供的Maven镜像服务器。
阿里云镜像服务器URL: http://maven.aliyun.com/nexus/content/groups/public/
如图:
第三步:
说明:最新版的Eclipse已经内嵌了Mevne插件m2e, 不需要安装Maven插件, 如果不做任何配置,会自动连接使用maven中央库自然可以使用,但是中央库在国外, 受到中国防火墙等因素影响其访问速度很慢, 只有连接到国内镜像库才能提高Maven运行速度. 连接到国内镜像库按照如下配置.
打开Eclipse:
Windows --> Preferences --> Maven --> User Settings :(Eclipse会自动使用settings.xml文件中包含镜像库的URL地址信息,找到Maven镜像库位置。)
第四步:
检查是否已经配置了镜像库。
Eclipse --> Windows --> Show View --> Other… -->Maven --> Maven Repositories:
第五步:
Maven的使用,创建Maven桌面项目:
Eclipse --> File --> New --> Maven Project :
MavenDemo 的项目结果:
第六步:
选择菜单创建Maven项目:
Eclipse --> File --> New --> Maven Project :
创建成功之后,pom.xml文件会报错,原因是缺少web.xml文件,消除错误:
打开项目 --> Deployment Descriptor:DemoWar(打开项目之后的第一行) 右键 --> Generate Deployment Descriptor Stub 即可。
第七步:
在Eclipse中搜索添加Jar组件的“坐标”
Eclipse与Maven配合提供了强大的jar组件集成功能。
更新Maven库的索引文件,更新索引之后就可以在Eclipse中搜索 jar 组件的“坐标”了,但这个功能不是必须的。
打开 MavenDemo项目的Maven Repositories(Windows --> show view --> Maven --> Maven Repositories --> Open)
右键打开菜单之后选 Rebuild Index (更新索引功能,灰常慢灰常慢 大概需要10~20分钟不等,需要硬盘缓存空间大约5G左右,更新一次之后,就不需要在更新了。数据存储在工作空间中。)
第八步:
打开项目中的pom.xml文件 --> 选择Dependencies
**第八步:**保存
**使用Maven下载的jar组件自动保存在“本地仓库”中,链接到了Maven项目中。
第九步:如果出现下载故障, 可以在检查Maven仓库正常联通后, 再删除本地仓库".m2"以后"更新Maven 项目"
==MavenDemo(右键) --> Maven --> Update Project… ==
第十步:
在线搜索添加Jar组件"坐标" 阿里云jar组件"坐标"搜索: http://maven.aliyun.com/nexus/
1. 阿里云jar组件"坐标"搜索
-
搜索结果很多, 选择需要的组件版本, 找到组件"坐标"
-
将找到组件"坐标" 复制到pom.xml文件中, 保存pom.xml文件时候自动下载jar组件.
-
下载jar组件自动保存在本地库 “.m2” 文件夹.
原文地址:原文地址
创建Maven + Spring MVC 项目:
第一步:
Eclipse --> File --> New --> Maven Project --> next:
第二步:
解决项目报错:右击项目名(HelloSpringMVC)–>Build Path --> Configure Build Path -->Library --> Server Runtime --> 选择建好的Tomcat服务,如果没有请先配置好Tomcat --> Finish --> Apply
第三步:
查看项目目录结构:缺少的手动补上去(自己新建即可)
第四步:
项目右键 --> Build Path --> Configure Bulid Path …
第五步:
更改配置 pom.xml 文件,这是 Maven 的主要配置文件,可以在里边配置项目所依赖的 jar 包。
<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.hello</groupId>
<artifactId>HelloSprinfMVC</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>HelloSprinfMVC Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${springVersion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springVersion}</version>
</dependency>
</dependencies>
<build>
<finalName>HelloSpringMVC</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<springVersion>4.2.3.RELEASE</springVersion>
</properties>
</project>
如果项目还有红叉叉,先不用管,继续往后走。
第六步:
更改配置 Web.xml 文件:
<web-app 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"
version="3.0">
<display-name>HelloSpringMVC</display-name>
<!-- 前端控制器 -->
<servlet>
<servlet-name>spring-mvc</servlet-name> <!-- 名称,真实的文件名需要在这个名字后面加上-servlet后缀 -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- DispatcherServlet路径,照写 -->
<!-- 这里可以设置前端控制器的路径,如果这一步注释掉,则默认前端控制器的路径为:/WEB-INF/[servlet-name]-servlet.xml
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/configs/spring-mvc-servlet.xml</param-value> 这里配置前端控制器的路径
</init-param>
-->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 拦截所有请求 -->
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name> <!-- 这里的名字要和上面的servlet-name统一 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
此文件的第一行一定是以 web-app 开始的,要不然后边会出现此文件配置错误的信息,重要,重要,重要。
第七步:
新建前端控制器配置文件:spring-mvc-servlet.xml
添加spring-mvc-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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-4.2.xsd">
<!-- 扫描路径 -->
<context:component-scan base-package="com.springmvc.controller" >
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 配置根视图 -->
<mvc:view-controller path="/" view-name="index"/>
<!-- 激活基于注解的配置 @RequestMapping, @ExceptionHandler,数据绑定 ,@NumberFormat ,
@DateTimeFormat ,@Controller ,@Valid ,@RequestBody ,@ResponseBody等 -->
<mvc:annotation-driven />
<!-- 静态资源配置 -->
<mvc:resources location="/assets/" mapping="/assets/**"></mvc:resources>
<!-- 视图层配置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
第八步:
添加Controller类
HelloController类的内容为:
package com.springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
//url: http://localhost:8080/HelloSpringMVC/hello/mvc
// 告诉DispatcherServlet相关的容器,这是一个Controller
@Controller
// 类级别的RequestMapping,告诉DispatcherServlet由这个类负责处理URL
// HandlerMapping依靠这个标签来工作
@RequestMapping(value="/hello")
public class HelloController {
// 方法级别的RequestMapping,限制并缩小了URL路径匹配,同级别的标签协同工作,最终确定拦截到的URL由哪个方法处理
// 并指定访问方法为GET
@RequestMapping(value="/mvc",method=RequestMethod.GET)
public String HelloWorld(Model model) {
model.addAttribute("message", "我是 HelloController 类!!!"); // 传递参数给前端
// 视图渲染,/WEB-INF/view/HelloWorld.jsp
// 页面的名称,根据此字符串会去寻找名为HelloWorld.jsp的页面
return "HelloWorld";
}
}
第九步:
添加view视图文件夹:
在view视图文件夹新建jsp页面:
HelloWorld.jsp页面的内容为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HelloSpringMVC</title>
</head>
<body>
<!-- 获取controller传递过来的值 -->
<h1>message:${message}</h1>
<h1>this is my spring mvc</h1>
</body>
</html>
index.jsp 页面的内容为:
<html>
<body>
<h2>Hello World!</h2>
<h2>I am index.jsp, super star!</h2>
</body>
</html>
第十步:(如果项目没有红叉,跳过该步骤)
可以看到,自从添加了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
正常情况下,项目已经没有不报错了。
如果Java Resources还是有红叉叉的话:往下看
出现红叉叉的原因:版本不对
解决步骤:
Windows --> Show View --> Navigator -->
将2.3的版本改成3.0的版本。
然后:项目右键 --> Maven --> Update Project…即可
红叉叉消失。
第十一步:
运行项目:
上面的这个controller对应的页面如下: