上一篇中我们讲解了怎样自己配置SpringMVC的环境。按照计划,我们这一节要介绍如何利用Maven来搭建SpringMVC的环境。特此声明:部分图片来自网络,在文章的最后,将详细列出引用的地方和第一著作者文献。
首先,说几个小的概念。可能看起来与主题无关。
1.war包和jar包的区别
(1)jar包,大家都比较了解。是已经写好的一些类,打包之后,可以将这些jar包引入目标中,然后我们就可以直接使用jar包中的类和属性了。jar包一般只是包括一些class文件,在声明了Main_class之后,是可以java命令运行的。
(2)war包是一个web模块,其中包括WEB-INF,是可以直接运行的WEB模块。Tomcat将war文件包放到\webapps\目录下,启动Tomcat,这个包可以自动解压,也就是你的web目录。再简单点说,war包就是一个做好的web应用,通常是一个网站,然后打成包部署到容器中去。
(3)ear包,企业级应用,通常是EJB打成ear包。
所有的包,都是用jar打的,只是目标文件的扩展名不一样。
2.Maven的介绍与安装
(1)Maven 是一个项目管理和构建自动化工具。它有一个很重要的原则,即: Maven使用惯例优于配置的原则。它要求在没有定制之前,项目要有一定的结构.
一个maven项目在默认的情况下,会产生Jar文件,变异后的classes会放在${baseddir}/target/classes下。
(2)其实,关于Maven的作用,可能尤为重要的一点,便是它可以很好地的管理Jar包,我们只需添加好项目的依赖配置(dependence), 然后Maven 就会自动的引入与当前使用的Jar的依赖包,这其中还会有更进一步的延伸,还会自动加入依赖包的依赖包。即,Maven会自动地引入当前工程的整个Jar的依赖包链。对,是整个的依赖包链。从而,不再需要开发人员手动的配置添加各种繁复的Jar包,这也许大概就是这么多程序开发人员选择Maven的原因。
(3)Maven 的安装与调试
maven也需要JDK的运行环境,所以请先确保已经安装了jdk. Maven的官方下载地址为: http://maven.apache.org/download.html 截止笔者发文时,依然可以访问,若读者发现没办法下载,请自行到网上寻找下载包,或直接使用笔者提供的3.1.1版本(链接:http://pan.baidu.com/s/1o6xj9IM 密码:g7fs)。
安装过程非常简单,只需要配置环境变量即可,附带一个安装教程。
http://jingyan.baidu.com/article/295430f136e8e00c7e0050b9.html
安装完成后,在命令行里运行$mvn -v 命令。会出现Maven 的版本信息等,如果输出了类似下图的信息,则表示安装成功。
3.Maven来搭建SpringMVC
(1)首先我们来创建一个maven工程。
点击create
切换到Dependencies选项卡,并增加一个新的Dependency.
说明:该过程是加入springframe的spring-webmvc依赖库,${springmvc}是之前设置的属性.
如果本地没有这些依赖库,则从网上进行下载。
这里有可能会出现一个问题。
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
这是说maven和IDE不兼容的问题。可以换用比较低版本maven.
还有一个解决办法。http://fxb4632242.iteye.com/blog/2193945
(2)配置Controller
在src->main下新建java文件夹,然后在文件夹下新建Hello类,包名为com.springmvc.controller.
package com.springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class Hello {
@RequestMapping(value="/Hello")
public String HelloWorld(Model model){
model.addAttribute("message", "Hello World!");
return "HelloWorld";
}
}
(3)HelloWorld.jsp
在src – main –webapp – WEB-INF目录下新建文件HelloWorld.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>message:${message}</h2>
</body>
</html>
(4)配置web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" verson="3.1">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
(5)配置xxx-servlet.xml
在之前的两篇中,我们曾将强调过这xml命名的问题。这里应取为springmvc-servlet.xml 。如果读者想更改名称,要添加web.xml的配置,具体的方法在上两篇中已经做介绍,这里不再赘述。
<?xml version="1.0" encoding="UTF-8"?>
<?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
<context:component-scan base-package="com.controller"/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
至此,借助MAVEN来搭建SpringMVC,已经完成。
4.我们来看一下效果,启动服务器
OK,至此,搭建SpringMVC的三种方式都已经介绍完毕。接下来,我们将陆续开始讲解SpringMVC的应用。