之前想用Maven搭建个简单的SpringMVC框架,一直没成功,上网搜索了好多,不知道是自己操作的问题还是怎么,就是报错,或者运行不了.

今天偶得一篇教程,写的极好.晚上试着自己从新来一遍.

一. 安装SpringMVC所需jar包

配置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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Maskkk</groupId>
  <artifactId>Maskkk</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>Maskkk 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>
    
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.2.5.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.2.5.RELEASE</version>
    </dependency>
    
  </dependencies>
  
  <build>
    <finalName>Maskkk</finalName>
  </build>
</project>



来看一下dependency标签里面的东西都是从哪里来的.

我们可以通过maven库来查找所需要的groupId,artifactId 等等.

maven搭建spring环境 maven搭建springmvc框架_测试

选择第一个,进入新页面后,向下滑动,可以看到对应的版本.选择进去,就能看到pom.xml所需要的东西了.

这样子,就可以配置好pom.xml文件了.

 

通过pom.xml安装jar包.

右键pom.xml -> Run As -> Maven install.

接着就会看到console里面打印了好多东西.最后打印出 BUILD SUCCESS.

maven搭建spring环境 maven搭建springmvc框架_测试_02

 

Java Resources -> Libraries -> Maven Dependencies 目录下,就可以看到我们根据pom.xml配置所安装的jar包了.

maven搭建spring环境 maven搭建springmvc框架_web.xml_03

 

 二. 配置web.xml

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">  
    <servlet>      
        <servlet-name>spring-mvc</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    </servlet>  
  
    <servlet-mapping>  
    <!-- 这里的servlet-name和上面的要一致. -->
        <servlet-name>spring-mvc</servlet-name>  
     <!-- 这里就是url的匹配规则, / 就是匹配所有 -->
        <url-pattern>/</url-pattern>  
    </servlet-mapping>  
</web-app>



首先是配置springMVC的servlet. servlet-name里面的值可以为任意值,但是需要和一会儿说的一个xml文件的名字一致.

再说一下servlet-class的值是怎么得来的.

这里配置的是spring的DispatcherServlet.路径详见下图:

maven搭建spring环境 maven搭建springmvc框架_maven搭建spring环境_04

 

 其实就是这个路径.

至此,简单的web.xml就配置完毕了.

 

三. 配置spring-mvc-servlet.xml



<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="  
        http://www.springframework.org/schema/beans       
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
        http://www.springframework.org/schema/context   
        http://www.springframework.org/schema/context/spring-context-3.0.xsd  
        http://www.springframework.org/schema/mvc  
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">  
  
      <!-- 下面是配置扫描包的位置,包名为com.maskkk,也就是说,我们的试图解析器应该放在com.maskkk包下. -->
    <context:component-scan base-package="com.maskkk" />  
    <bean id="viewResolver"  
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 前缀,我们的视图文件应该放到/WEB-INF/view/目录下,这里我们需要在WEB-INF下面创建view文件夹 -->  
        <property name="prefix" value="/WEB-INF/view/" />  
        <!-- 设置后缀为.jsp -->
        <property name="suffix" value=".jsp" />  
    </bean>  
</beans>



四. 创建控制器文件.

在/src/main/java下,创建一个Java类文件.名称为 FirstController.java 代码如下:



package com.maskkk;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//@Controller 控制器注解.
@Controller
public class FirstController {

    
    //@requestMapping
    @RequestMapping("/Hello")
    public String hello() {
        
        return "Hello";
    }
}



控制器的代码就写完了,接下来我们去写jsp页面的代码.

 

 

五. 创建视图文件

在/src/webapp/WEB-INF/下,创建view,因为这在spring-mvc-servlet.xml里有设置过的.

 

maven搭建spring环境 maven搭建springmvc框架_spring_05

创建一个Hello.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>
    <h1>This is my first jsp page!</h1>
</body>
</html>



 

六. 添加到Tomcat服务器.

如果没有Tomcat服务器的话,那么可以在这里下载: Tomcat

首先调出Server视图:

maven搭建spring环境 maven搭建springmvc框架_测试_06

 

 

 在空白处右键, New->Server,我这里选择的是Tomcat v7.0 server,

然后选择 next ,双击左侧的 Maskkk 就添加到服务器中了.然后点击finish. 右键我们创建好的Tomcat服务器,选择 start ,服务启动后

我们就可以在浏览器中输入地址: http://localhost:8080/Maskkk/Hello 回车

maven搭建spring环境 maven搭建springmvc框架_测试_07

 

 

 

 

 八. 有问题的地方. 

最后我说一下,我遇到的问题.

当我创建了一个Maven项目后,随着项目一起创建的index.jsp文件,直接报错.

我的解决方法是: 右键项目根目录 -> properties -> Java Build Path -> Libraries -> Add Library -> Server Runtime -> next -> Apache Tomcat v7.0 -> finish -> ok.

就行了.

 

Peace Out