来了解一下SpringMVC思维导图

SpringMvc是基于过滤器对servlet进行了封装的一个框架,我们使用的时候就是在web.xml文件中配置DispatcherServlet类;SpringMvc工作时主要是通过DispatcherServlet管理接收到的请求并进行处理。

/**
* 返回的是一个ModelAndView
* @param username 页面传递的用户名
* @param password 页面传递过来的密码
* @return
*/
@RequestMapping(“login2.do”)
public ModelAndView login2(String username,String password){
if (“admol”.equals(username)) {
System.out.println(username +" 登录成功2");
return new ModelAndView(“loginSuccess”);//逻辑视图名 跳转页面默认为转发
}
return new ModelAndView(“redirect:/jsp/loginError”);//以重定向的方式
}

/**
 *  传递一个JAVABEAN对象给控制器
 * @param users  bean对象
 * @return
 */
@RequestMapping(value="login3.do",method=RequestMethod.POST)
public ModelAndView login3(@ModelAttribute("users") Users users){
    if ("admol".equals(users.getUsername()) && "123".equals(users.getPassword())) {
        System.out.println(users.getUsername() +"    "+ users.getPassword());
        return new ModelAndView("loginSuccess");
    }
    return new ModelAndView("redirect:/jsp/loginError.jsp");//以重定向的方式
}

(全文左右滑动查看完整代码~)

优点:

1:完全基于接口编程,真正实现了视图无关。除了jsp,还可以使用Velocity和xstl或其他视图技术,甚至是自定义的视图技术–只需要简单的实现view接口

2:Spring MVC框架以DispatchServlet为核心控制器,该控制器负责拦截用户的所有请求

3:Spring MVC所有控制器都必须实现Controler接口,该接口定义了ModelAndView handleRequest(request,response)方法,通过实现该接口实现用户的业务逻辑控制。

缺点:

1:Spring与MVC 的Servlet API 耦合,难以脱离容器独立运行

2:太过于细分,开发效率低

3:过度追求完美,有过度设计的危险

package com.wjl.bean;

/**

  • @author Admol
    *2015年1月3日
    */
    public class Users {

    private String username;
    private String password;
    public String getUsername() {
    return username;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    public String getPassword() {
    return password;
    }
    public void setPassword(String password) {
    this.password = password;
    }

}

流程

1、用户发送请求至前端控制器DispatcherServlet

2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、DispatcherServlet调用HandlerAdapter处理器适配器

5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

6、Controller执行完成返回ModelAndView

7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器

9、ViewReslover解析后返回具体View

10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

11、DispatcherServlet响应用户

DispatcherServlet

DispatcherServlet是整个Spring MVC的核心。

它负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:

1、截获符合特定格式的URL请求。

2、初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。

3、初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值