栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

SpringMvc(一)简述与基本使用

Java 更新时间:发布时间: 百科书网 趣学号

目录

1.什么是MVC?

2.什么是SpringMVC框架。

3.为什么要使用SpringMVC框架。

4.如何使用springmvc

5.springmvc的运行流程

6.如何在controller接受请求的参数

7.处理静态资源


1.什么是MVC?

MVC就是一个分层架构模式:

 

2.什么是SpringMVC框架。

springMVC它是spring框架的一个分支,该springMVC框架主要完成的功能是:接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示 可以把它理解为和Servlet干的工作是一样的

3.为什么要使用SpringMVC框架。

4.如何使用springmvc

(1)创建一个maven-web工程。

注意: 替换现在的web.xml文件,因为web.xml文件版本过低,后续会出严重的bug

  



(2)引入springmvc的依赖

 
    
      org.springframework
      spring-webmvc
      5.2.15.RELEASE
    

带有RELEASE的是较稳定的springmvc.jar包

(3) 注册DispatcherServlet到web.xml文件上



  
  
    
    DispactherServlet
    org.springframework.web.servlet.DispatcherServlet
    
      
      contextConfigLocation
      
      classpath:springmvc.xml
    
  
  
    DispactherServlet
    /
  

(4) 创建springmvc配置文件

 (5)创建一个controller类

//该注解标记该类为处理层类---类似@WebServlet
@Controller
public class UserColltroller {

    @RequestMapping("save")//把请求路径映射到该方法上。
    public String save(User u){
        System.out.println(u);
        return "main.jsp";//响应一个页面
    }
}

**5.springmvc的运行流程
  1. 客户端发生请求http://localhost:8080/qy151_springmvc01/abc
  2. 来到tomcat服务器。
  3. springmvc的前端控制器DipatcherServlet接受所有的请求。
  4. 查看你的请求地址和哪个@RequestMaping匹配。
  5. 执行对应的方法。方法会返回一个字符串。springmvc把该字符串解析为要转发的网页。
  6. 把该字符串经过视图解析器拼接。
  7. 拿到拼接的地址,找到对应的网页。
  8. 渲染该网页给客户

6.如何在controller接受请求的参数

在接收大量参数时,封装一个实体类来接受这些参数

解决接受的参数值乱码:---只能添加过滤器

(1)创建编码过滤器. jdk1.8一定要重写init和destory方法 1.9以后可以不写

@WebFilter(filterName = "EncodingFilter",urlPatterns = "/*")
public class EncodingFilter implements Filter {
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        servletRequest.setCharacterEncoding("utf-8");
        servletResponse.setCharacterEncoding("utf-8");
        filterChain.doFilter(servletRequest,servletResponse);
    }
    public void destroy() {

    }
}

(2)springmvc提供了一个编码过滤器.

 注册编码过滤器


    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      utf-8
    
  
  
    encodingFilter
    /*
  

接受的参数含有日期类型

解决办法:

在时间类型的属性上添加一个注解:@DateTimeFormat(pattern = "")

在springmvc配置文件上开启注解驱动

7.处理静态资源

 无法加载图片: 原因:springmvc的前端控制器DispatcherSerlvet也把静态资源拦截器。放行静态资源

    
    

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/956948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号