SpringMVC的原理、搭建和应用(三)

来源:互联网 发布:淘宝首页添加热点 编辑:程序博客网 时间:2024/05/16 07:54

上一篇中我们讲解了怎样自己配置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;@Controllerpublic 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的应用。

按照文章开始的安排和一贯的做法,为尊重原创作者,我们列出一些引用的文献的地址和一些可以供要求更高的读者深入学习的更为详细的资料。
http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-1-406235-zhs.html
http://blog.csdn.net/fox_lht/article/details/16952683
http://limingnihao.iteye.com/blog/830409
http://blog.csdn.net/aitcax/article/details/41543829
http://www.360doc.com/content/14/0920/12/9437165_410900873.shtml

0 0
原创粉丝点击