码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC入门

时间:2017-01-16 10:43:27      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:修改   前端控制器   apt   package   ram   type   name   兼容性   pack   

1、选型
  选型范围:Struts2、Spring MVC,其他的没精力研究。

  Spring MVC特点:
    1、师出名门,受众广,与Spring兼容性好。
    2、轻量,简单,易于使用,可以让开发人员将精力放到业务逻辑开发上。
    3、高效,性能优秀。
    4、功能强大:RESTful、数据验证、格式化、绑定机制、本地化、主题等
    5、清晰的角色划分:控制器(controller)、验证器(validator)、 命令对象(command object)、表单对象(form object)、模型对象(model object)、 Servlet分发器(DispatcherServlet)、 处理器映射(handler mapping)、视图解析器(view resolver)等等。 每一个角色都可以由一个专门的对象来实现

  自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,实现了对Struts 2的超越。

 

2、下载
http://spring.io/projects,选择“Spring Framework”

3、几个重要的东西
  3.1)DispatcherServlet:前端控制器,Spring的web框架围绕DispatcherServlet设计(很重要吧),其作用是将请求分发到不同的处理器。
  3.2)HandlerMapping:处理请求的映射,实现类包含:
    3.2.1)SimpleUrlHandlerMapping 通过配置文件,把一个URL映射到Controller
    3.2.2)DefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上
  3.3)HandlerAdapter: 处理请求的映射,实现类包含:
    3.3.1)AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上

4、古老的开发流程

4.1)实现控制器接口

public class MyController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception {
        //返回一个模型视图对象,指定路径
        return new ModelAndView("my/index", "message", "Hello World");
    }
}

4.2)创建视图

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>my view</title>
</head>
<body>
    ${message}
</body>
</html>

4.3)修改spring mvc 配置文件

<bean name="/my" class="com.myspringmvc.controllers.MyController"></bean>

4.4)运行

4.5)缺点:
一个控制器中只有一个Action,如果要多个Action则需要定义多个Controller。

5、现在的开发流程

5.1)在自定义Controller上添加注解 @Controller、@RequestMapping("/")
5.2)在控制器方法上添加注解 @RequestMapping

@Controller
@RequestMapping("/my")
public class MyController {
    @RequestMapping("/index")
    public String index(Model model){
        model.addAttribute("message", "Hello World");
        return "my/index";
    }
}        

5.3)修改spring mvc 配置文件,自动扫描包

<context:component-scan base-package="com.myspringmvc.controllers" />

5.4)运行

 

Spring MVC入门

标签:修改   前端控制器   apt   package   ram   type   name   兼容性   pack   

原文地址:http://www.cnblogs.com/yuanyee/p/6288567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!