【Spring MVC环境搭建】

为了工作的需要有时候会涉及到三个框架的搭建。为了便于自己查看同时也是希望能给其他人一些帮助,特意在此记录一下如何从零基础搭建spring MVC。

1. 工具

1.1 eclipse

编辑工具使用的是eclipse,可以直接从官网下载:http://www.eclipse.org/downloads/. 个人使用的话建议下载Eclipse IDE for Java EE Developers 这个版本即可。

1.2 Apache tomcat

  Apache tomcat 服务器建议直接从官网下载:http://tomcat.apache.org/ 本次测试使用的是Apache Tomcat 7.x。

1.3 Spring Framework

  Spring Framewrok 同样建议直接在官网下载:http://projects.spring.io/spring-framework/
  因为下载地址变动比较大,如果希望快点的话可以按Ctrl+F,在快速搜索栏输入download,点击搜索,这样会加快搜索下载地址链接。

1.4 JDK

   JDK可以直接在oracle的官网下载,官网地址: http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html

2. 环境搭建

jdk的安装比较简单,在Windows操作系统下直接双击打开即可进入安装界面。eclipse、tomcat和spring framework选择zip压缩包的安装方式,解压即可使用。

2.1 打开eclipse和配置tomcat server

双击eclipse解压目录下的eclipse.exe即可打开eclipse。有两种配置服务器的方式,在此介绍简单的一种。在windows->show view->other->server->servers选中,就会在eclipse编辑器的下方出现server的标签栏。如下图所示:图中的是我已经配好的服务器。
《【Spring MVC环境搭建】》

虽然我已经配好了服务器还是简单说下如何配置一个新的服务器。打开server标签栏,右键单机选择new->server。即可进入配置界面。界面如下:

《【Spring MVC环境搭建】》

如果server runtime environment没有Apache Tomcat v7.x的选项需要点击Add,然后添加一个运行环境,添加的时候选择Apache Tomcat 的解压目录即可。

2.2 新建一个Dynamic Web Project

File->new->Dynamic Web Project即可新建一个动态web项目,输入项目名选择运行环境,点击finish即可。
打开spring framework的解压目录,在libs目录下有项目所需要的一些jar包。建立最简单的springMVC项目只需要导入,commons-logging.jar和spring-core-4.2.5.RELEASE.jar即可。如果有其他需求,需要导入其他的相关jar包。
将所需的jar包导入 项目名/WebContent/WEB-INF/lib下即可。导入所需的jar包后还需要配置相关的配置文件,主要有web.xml和applicationContaxt.xml。web.xml是一个web项目所不可缺少的配置文件,主要配置一些servlet和过滤器等。applicationContaxt.xml是初始化spring容器相关的配置文件.
在 项目名/WebContent/WEB-INF目录下创建web.xml文件,内容如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.4">
  <!-- <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> -->
  <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
    <servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>/WEB-INF/applicationContext.xml</param-value>  
        </init-param> 
        <load-on-startup>2</load-on-startup> 
    </servlet>
    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
  <!-- <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> -->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

在该目录下创建applicationContaxt.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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
     <context:annotation-config/>
     <!-- 自动扫描com.*.controller包下的所有注解类,由spring创建并维护相应的实体bean -->
     <context:component-scan base-package="com.*.controller"/>
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">    
        <property name="prefix" value="/WEB-INF/views/" />    
        <property name="suffix" value=".jsp" />    
     </bean>
     <!-- 以下演示 在XML中配置bean的方式 返回 ModelAndView的访问方式 -->
     <bean id="modelandview" name="/modelandview.do" class="com.test.controller.ModelAndViewController"/>
</beans>

关于配置文件中的一些配置,可以参考官方提供的一些配置文件查看。

在src目录下创建com.test.controller包,在该包下创建AnnotatioController.java。这个是基于注解的方式配置Controller。由spring容器创建相应的bean并由spring管理。
该类代码如下:

package com.test.controller;

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

@Controller
public class AnnotatioController{

    @RequestMapping("test.do")
    public String test()
    {
        System.out.println("test..."); 
        return "hello";
    }
}

当请求是test.do的时候,会响应该类的test方法,并返回hello,由于在spring的配置文件中配置了默认前缀是/WEB-INF/views,默认后缀是.jsp。故响应会返回/WEB-INF/views/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>基于注解方式的访问</title>
</head>
<body>
    这是基于注解方式的访问方式。参考com/test/controller包下的AnnotatioController类。
</body>
</html>

如何运行web项目?右键点击项目名,选择Run As -> Run on server->选择自己刚才配置好的Apache tomcat 服务器,点击finish即可运行。然后在浏览器的地址栏输入:http://localhost:8080/spring 即可访问web项目。

浏览器响应解析后的界面如下:

《【Spring MVC环境搭建】》
同样在该包下创建ModelAndViewController.java类,该类需要继承AbstractController抽象了并实现handleRequestInternal方法。代码如下:

package com.test.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class ModelAndViewController extends AbstractController{

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        // TODO Auto-generated method stub
        System.out.println("modelandview");
        return new ModelAndView("modelandview");
    }
}

创建完类后需要在spring的配置文件中配置相关的bean才可以交给spring管理。

bean中的属性name是设置访问的请求,如果访问的请求是modelandview.do的话就交于该bean响应。该bean会自动调用该类的handleRequestInternal方法,该方法返回一个ModelAndView对象,该对象里可以设置返回的视图和一些对象值。测试返回的是modelandview,则会返回/WEB-INF/views/modelandview.jsp。modelandview.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>基于配置文件的访问</title>
</head>
<body>
    这是基于配置文件的访问方式。参考com/test/controller包下的ModelAndViewController类。<br>
    配置信息在/WEB-INF/applicationContext.xml中。<br>
    ModelAndViewController手动配置信息如下:<br>
     <!-- 以下演示 在XML中配置bean的方式 返回 ModelAndView的访问方式 -->
    <code>
     <bean id="modelandview" name="/modelandview.do" class="com.test.controller.ModelAndViewController"/>
    </code>
</body>
</html>

浏览器响应如下:

《【Spring MVC环境搭建】》

至此Spring MVC的环境已经搭建好了,本文演示了两种配置SpringMVC请求的方式,一种是基于注解的方式,另一种是基于配置bean的方式。
如果有其他的功能需求,需要导入相关的jar包。

    原文作者:Spring MVC
    原文地址: https://blog.csdn.net/u010989191/article/details/51167532
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞