您的位置:首页 > 编程语言 > Java开发

【Spring MVC环境搭建】

2016-04-16 13:07 639 查看
为了工作的需要有时候会涉及到三个框架的搭建。为了便于自己查看同时也是希望能给其他人一些帮助,特意在此记录一下如何从零基础搭建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的标签栏。如下图所示:图中的是我已经配好的服务器。



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



如果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项目。

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



同样在该包下创建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的环境已经搭建好了,本文演示了两种配置SpringMVC请求的方式,一种是基于注解的方式,另一种是基于配置bean的方式。

如果有其他的功能需求,需要导入相关的jar包。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: