环境 Win7 旗舰版 +myeclipse-10.7-offline-installer-windows spring4.1.5
1.maven安装
1.1检查JDK的安装以及环境变量的配置
打开cmd
echo %JAVA_HOME%
java -version
我这里的版本为 jdk1.7.0_55
1.2下载maven并解压到某个目录
1.2.1下载Maven
http://maven.apache.org/download.html
我下载的 apache-maven-3.2.5-bin.zip 解压到D:\maven\apache-maven-3.2.5
1.2.2新建环境变量M2_HOME 指向D:\maven\apache-maven-3.2.5
1.2.3在path尾部添加%M2_HOME%\bin
1.2.4检查是否安装成功
打开cmd
echo %M2_HOME%
mnv –v
1.2.5修改maven repository目录(就是maven jar包存放目录)
D:\maven\apache-maven-3.2.5\conf 下找到 settings.xml 更改节点 <localRepository></localRepository>
我这里在E盘新建mvnRespo 目录 配制更改为 <localRepository>E:/mvnRespo</localRepository>
1.2.6更改myeclipse 设置 使myeclipse 用自已安装的maven ( 如果是eclipse的话需要自已安装 maven插件 )
打开Myeclipse Window – Preferences – MyEclipse– Maven4MyEclipse-Installations-Add 选择目录D:\maven\apache-maven-3.2.5
点击OK
maven安装完毕
2.新建maven SpringMVC 工程
2.1.File-New-Web Project 然后 在Maven那里勾选 Add Maven support 选择(已被默认选中) Standard Maven JEE Project -Next-
Group Id 和 Artifact Id 可以更改-Finish
pom.xml 文件内容如下:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MyMaven</groupId>
<artifactId>MyMaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name/>
<description/>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>javaee-api</artifactId>
<version>5.0-1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
2.2构建基于 @controle 和 @RequestMapping("/helloWorld") 注解的 Spring MVC 工程
2.2.1添加annotation支持
src/main/webapp/WEB-INF/ 下新建名为 root-context.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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="org.mycontroller"/>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
解释:
<context:component-scan base-package="org.mycontroller"/> 是要扫描注解的包
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping 是用来处理注解的类
在WEB-INF/view下增加helloWorld.jsp 页面 helloWorld这个名字应与下面控制器返回的String 类型的名字一样,这个就是View
prefix是前缀的意思 suffix是后缀的意思 Spring会根据 控制器返回的String 类型的名字 helloWorld 在 /WEB-INF/view 下面找到 helloWorld.jsp 作为返回的 view
2.2.2 src/main/webapp/WEB-INF/web.xml 下添加如下内容
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/root-context.xml</param-value>
</context-param>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
即所有的请求路径 交由org.springframework.web.servlet.DispatcherServlet 来处理
2.2.3 src/main/java 下新建 org.mycontroller 包 在里面新建 HelloWorldController.java 就是控制器
我的内容如下
package org.mycontroller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloWorldController {
@RequestMapping("/helloWorld")
public String helloWorld(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return "helloWorld";
}
}
2.2.4代码写好了 还需要jar包的支持
在pom.xml下增加如下依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.5.RELEASE</version>
</dependency>