SSM框架复习巩固

SSM框架复习巩固,第1张

SSM框架复习巩固 ssm框架第八天:springMVC

1.SpringMVC 的基本概念

1. 严格遵循mvc设计模型设计出来的web层的框架

2. 是spring框架的后续产品

   SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring frameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功 能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架,如 Struts1(现在一般不用),Struts2 等。

   SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。

   它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时

它还支持RESTful 编程风格的请求

2. SpringMVC的入门

2.1 环境搭建

1.导入依赖


      junit
      junit
      4.11
      test
    
    
      org.springframework
      spring-context
      5.0.2.RELEASE
    
    
      org.springframework
      spring-web
      5.0.2.RELEASE
    
    
      org.springframework
      spring-webmvc
      5.0.2.RELEASE
    
    
      javax.servlet
      servlet-api
      2.5
      provided
    
    
      javax.servlet
      jsp-api
      2.0
      provided
    

2.web.xml配置

  
  
      dispatcherServlet
      org.springframework.web.servlet.DispatcherServlet
      
      
        contextConfigLocation
        classpath:springmvc.xml
      
      
      1
  
  
    dispatcherServlet
    /
  
3.springMVC配置文件



    
    
    
    
        
        
        
        
    
    
    

4.controller类和jsp页面

<%--
  Created by IntelliJ IDEA.
  User: zengl
  Date: 2019/10/25
  Time: 11:21
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>


    springmvc入门


    springmvc入门测试

package com.bianyiit.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller

@RequestMapping("/user")
public class UserController {
    
    //(path ={"/helloWorld"},
    //                    method ={RequestMethod.GET,RequestMethod.POST}, //限定方法访问的请求方式
    //                    params={"username"}, //限定请请参数,指定了请求参数名称,请求就必须要携带该参数
    //                    headers = {"Accept"}//限定请求头
    @RequestMapping("/hello")
    public String helloWorld(){

        System.out.println("UserController 中的helloWorld执行了");

        return "hello";
    }
}

springMVC项目:(都是在项目启动的时候会创建加载的)

1.项目在启动的过程中(一启动),web.xml就会被加载,xml文件里面配置的前端控制器会被创建。

2.springMVC的配置文件会被加载

3.所有的controller层的对象会被创建

4.springmvc的三大组件会被创建

请求过程:

用户在浏览器发送请求,由dispatchServlet接收,然后将请求分发,找到controller层相应映射的路径,处理请求,返回的是逻辑视图,通过配置的视图解析器转换为物理视图,返回到前端jsp页面,然后在有jsp页面把要展示的数据给浏览器。

3.springMVC运行原理 如图:

个人理解运行流程:

1.用户在前端页面发送请求

2.请求先经过前端控制器(DispatchServlet),它会控制全局

3.由前端控制器去找处理器映射器,处理器会拿着前端路径去对应的controller层找到对应的映射,去比较,找到这个处理器然后会返回到DIspatchServlet

4.DispatchServlet会去找处理器适配器,找到相应的处理器,返回模型和视图给DispatchSerlet

5.DispatchServlet会去找视图解析器,将逻辑视图转换为物理视图,然后在返回到DispatchServlet

6.DispatchServlet将相应的数据通过前端视图返回到浏览器

4.请求参数的接收

代码如下:

package com.bianyiit.web;

import com.bianyiit.domian.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@Controller

@RequestMapping("/param")
public class ParamController {
    
    @RequestMapping("/hello")
    public String hello(HttpServletRequest request, HttpServletResponse response){
       //1. 获取请求参数
        System.out.println(request.getParameter("username"));
        System.out.println(request.getParameter("password"));
        return "hello";
    }
    @RequestMapping("/hello1")
    public String hello1(String  username,String password){
        //1. 获取请求参数
        System.out.println(username+ "  :: " + password);
        return "hello";
    }

    @RequestMapping("/hello2")
    public String hello2(User user){
        //1. 获取请求参数
        System.out.println(user.getUsername()+ "  :: " + user.getPassword());
        return "hello";
    }
}

注意:前端请求的参数名称(名字)要和后端的属性名称一致(一一对应)

今日学习感受:学习只是人生的一部分,也是十分重要的一部分。以上只是个人理解,如果有什么理解不当,还望看到的大神指正,感谢!最后一句话:希望你成为你想成为的人!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5683716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存