• 技术文章 >Java >java教程

    SpringMVC详解

    大家讲道理大家讲道理2017-08-19 13:58:59原创791
      本系列教程我们将详细的对SpringMVC进行介绍,相信你在学完本系列教程后,一定能在实际开发中运用自如。

    1、什么是 SpringMVC ?

      在介绍什么是 SpringMVC 之前,我们先看看 Spring 的基本架构。如下图:

      

      我们可以看到,在 Spring 的基本架构中,红色圈起来的 Spring Web MVC ,也就是本系列的主角 SpringMVC,它是属于Spring基本架构里面的一个组成部分,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,所以我们在后期和 Spring 进行整合的时候,几乎不需要别的什么配置。

      SpringMVC 是类似于 Struts2 的一个 MVC 框架,在实际开发中,接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示,但是上手难度却比 Struts2 简单多了。而且由于 Struts2 所暴露出来的安全问题,SpringMVC 已经成为了大多数企业优先选择的框架。

      那么多的不说,我们直接通过一个实例来看看 SpringMVC 的魔力。

      ps:本篇博客源码下载链接:http://pan.baidu.com/s/1c1OJi5E 密码:9hnc

    2、创建 web 工程,并导入相应的 jar 包。

      

      这里我们加入了 Spring 3.2 的所有 jar 包,正好也佐证了上面所说的 SpringMVC 是 Spring 架构的一部分,注意:一定要包括红色椭圆圈起来的 spring-webmvc-3.2.0.RELEASE.jar

    3、新建 SpringMVC 全局配置文件

      在 src 目录下新建 springmvc.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:mvc="http://www.springframework.org/schema/mvc"
           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-4.2.xsd
            http://www.springframework.org/schema/mvc 
            http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd 
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx.xsd">
    
    
    </beans>

      

    4、在 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/javaee"
    	 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    	 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>SpringMVC_01</display-name>
      <!-- 配置前端控制器DispatcherServlet -->
      <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <!-- 对应上一步创建全局配置文件的文件名以及目录 -->
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    </web-app>

      

      

    5、编写处理器 Handler

    package com.ys.controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    public class HelloController implements Controller{
    
    	@Override
    	public ModelAndView handleRequest(HttpServletRequest request,
    			HttpServletResponse response) throws Exception {
    		ModelAndView modelView = new ModelAndView();
    		//类似于 request.setAttribute()
    		modelView.addObject("name","张三");
    		modelView.setViewName("/WEB-INF/view/index.jsp");
    		return modelView;
    	}
    
    }

      

    6、在 springmvc.xml 文件中配置 Handler,处理器映射器,处理器适配器,以及试图解析器  

      在 springmvc.xml 文件中添加如下代码:

    <!-- 配置Handler -->    
    <bean name="/hello.do" class="com.ys.controller.HelloController" />
       <!-- 配置处理器映射器
       	将bean的name作为url进行查找,需要在配置Handler时指定bean name(就是url)-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
       <!-- 配置处理器适配器,所有适配器都得实现 HandlerAdapter接口 -->
       <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> 
    
    <!-- 配置视图解析器 
       	进行jsp解析,默认使用jstl标签,classpath下得有jstl的包-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />

      

    7、在 /WEB-INF/view 目录下创建 index.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>
    hello:${name}
    </body>
    </html>

      

    8、在浏览器输入 http://localhost:8080/SpringMVC_01/hello.do

      

      跟着上面的步骤,相信你已经搭建了一个 SpringMVC 的简单实例,那么为什么要这么写呢?请看下一篇博客分解!!!

    以上就是SpringMVC详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:SpringMVC 详解
    上一篇:jvm垃圾回收算法 下一篇:Java程序员成长的钥匙
    PHP编程就业班

    相关文章推荐

    • Java理论基础--栈(总结分享)• 图文详解之Java实现冒泡排序• 详细介绍23种Java常见设计模式• 五种方法!Java创建多线程总结• 详细讲解Java运算符(总结分享)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网