根据上一篇spring mvc工作原理的介绍,我们一步步搭建环境。
如果spring mvc工作原理还没弄清楚的话,建议先看一看spring mvc工作原理的分析
准备工作
- IDE : 我用的是Eclipse
- spring Jar包,没有的话,可以去spring官网下载
- 将 jar包拷贝到lib文件夹下
配置前端控制器(DispatherServlet)
根据spring mvc工作原理,客户从浏览器发出请求,首先接受请求的是前端控制器,所以我们先配置前端控制器
在新建的动态web项目中找到配置文件web.xml,没有的自己新建一个。web.xml的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<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"
id="WebApp_ID" version="3.1">
<display-name></display-name>
<welcome-file-list>
<welcome-file></welcome-file>
</welcome-file-list>
<!-- 前端控制器配置 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--contextConfigLocation配置springmvc加载的配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- 指定将会配置映射器 适配器及视图解析器等的配置文件路径 -->
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- 从浏览器发出的请求路径(指定格式将会被前端控制器接受, 这里后缀名以.action结尾的路径会被前端控制器接受到) -->
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>
配置映射器 适配器及视图解析器等
在web.xml中有这么几行配置:
<!--contextConfigLocation配置springmvc加载的配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- 指定将会配置映射器 适配器及视图解析器等的配置文件路径 -->
<param-value>classpath:springmvc.xml</param-value>
</init-param>
这是初始参数的配置:配置spring mvc加载的配置文件,例如映射器 适配器及视图解析器等的配置文件,这些配置都指定在springmvc.xml中配置,所以接下来,我们要新建springmvc.xml来配置映射器 适配器及视图解析器等,处于规范所有地新建配置文件最好放在一个新建的sources folder文件夹中分类管理,一遍后期与其他框架整合时好管理与区分。
springmvc.xml配置如下:
<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: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-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
<!-- 注解的映射器和适配器的配置(默认加载了很多参数绑定方法 比如json转换解析器) -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 对于注解的控制器(controller)可以单个配置 实际开发中不推荐使用 推荐使用下面的扫描方式-->
<!--
<bean class="com.hbeu.controller.controller1"></bean>
-->
<!-- 可以扫描 controller service mapper
<context:component-scan base-package="com.hbeu.controller"></context:component-scan>
-->
<context:component-scan base-package="com.hbeu.controller"></context:component-scan>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
说明一点,整个环境的搭建是基于注解的方式配置的,也是最简单,最简洁的配置。
<mvc:annotation-driven></mvc:annotation-driven>
这行配置,涵盖了映射器和适配器的配置,同时也默认加载了很多参数绑定方法
<context:component-scan base-package="com.hbeu.controller"></context:component-scan>
这行配置,加载注解驱动,启动注解
然后我们就需要去编写处理器了
编写处理器(Handler)
package com.hbeu.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class controller1 {
@RequestMapping("/test.action")
public ModelAndView test() throws Exception {
ModelAndView mav=new ModelAndView();
mav.setViewName("/welcome");
return mav;
}
}
@Controller表示该类是一个控制器类
@RequestMapping("/test.action")表示该控制器处理的所有请求都被映射到test方法所制定的路径
接下来就是创建视图了
创建视图
一定要注意路径,根据springmvc.xml配置的视图解析器,前缀名与后缀名,所以新建的jsp一定要建在/WEB-INF/page路径下,否则会报404错误!
welcome.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title></title>
</head>
<body>
Hellow springMVC!
</body>
</html>
启动服务器调试
在浏览器中输入路径:http://localhost:8080:springmvc/welcome.action
成功时会显示:Hello springMVC!
至此,最简单的spring mvc环境就搭建好了,后期需要用到什么功能在进行配置!