springMVC

目录

在javaweb项目启动后

javaweb项目调用流程理解:

SpringMVC实现文件上传

SpringMVC的异常处理

SpringMVC框架中的拦截器

异步交互的方式


SpringMVC是用来替代Servlet的,但是使用SpringMVC进行开发会更加简单快捷,二者功能大同小异均可用于表现层的开发

在javaweb项目启动后

1.web程序通过浏览器访问前端页面,发送请求到后端服务器

2.后端服务器采用三层架构思想进行功能开发:

表现层(controller)负责接受请求和数据,将数据交给业务层;业务层(service)负责调用数据完成数据库的增删改查,并将结果返回给表现层; 表现层将数据转成json格式返回给前端

3.前端页面将数据进行解析,最终展示给用户  


javaweb项目调用流程理解:

Tomcat启动加载的是web.xml,web.xml里面设置拦截器,拦截器启动时加载springMVC配置文件,所以springMVC.xml的视图解析器生效,在springMVC.xml中开启注解扫描读取扫描包,才会在加上@Controller注解的AccountController类中扫描到,使其被管理。然后再通过AccountController类中@RequestMapping(“/findAll”)注解找到对应的东西然后执行返回页面(return “suc”;)再走视图解析器,返回suc.jsp页面

SpringMVC实现文件上传

用户在前端页面选择要上传的文件并提交,这个文件就被封装在一个特殊的请求里发送到服务器。服务器用特定的工具(MultipartResolver)来解析这个请求,把文件提取出来。然后,服务器按照你设定的规则(在Controller方法里)来处理这个文件,比如保存到某个地方。最后,服务器会告诉用户文件上传的结果。

在上传之前需要准备:

前端表单:首先,你需要在前端创建一个表单,允许用户选择要上传的文件。这个表单通常包含一个<input type="file">元素,让用户可以选择文件。

MultipartResolver:SpringMVC通过MultipartResolver接口来处理文件上传。这个接口的实现类会解析multipart/form-data类型的请求,这种类型的请求包含了文件数据。Spring提供了CommonsMultipartResolver和StandardMultipartResolver等实现类。

Controller方法:在SpringMVC的Controller中,你需要定义一个处理文件上传的方法。这个方法通常使用@RequestMapping注解来映射到相应的URL,并使用@RequestParam("file") MultipartFile file作为参数来接收上传的文件。

SpringMVC的异常处理

思路:

Controller调用service,service调用dao,异常都是向上抛出的,最终有DispatcherServlet找异常处理器进行异常的处理。

处理流程如下:

当用户发送一个请求到服务器时,SpringMVC会尝试调用相应的控制器方法来处理这个请求。

如果在处理请求的过程中发生了异常,SpringMVC会捕获到这个异常,并查找是否有相应的异常处理器可以处理这个异常。

如果有匹配的异常处理器,SpringMVC会调用这个处理器来处理异常。处理器可以根据异常的类型和具体情况,来决定如何处理这个异常,比如返回一个错误页面、返回一个JSON格式的错误信息等。

如果没有找到匹配的异常处理器,或者异常处理器没有能够处理这个异常,那么SpringMVC会抛出一个默认的异常响应,告诉用户发生了错误。

SpringMVC框架中的拦截器

拦截器在整个项目中的作用很重要,在web.xml中配置,当web项目启动时,首先Tomcat启动加载的是web.xml,web.xml里面设置拦截器,拦截器启动时加载springMVC配置文件,所以springMVC.xml的视图解析器生效,在springMVC.xml中开启注解扫描读取扫描包,才会在加上@Controller注解的AccountController类中扫描到,使其被管理。然后再通过AccountController类中@RequestMapping(“/findAll”)注解找到对应的东西然后执行返回页面(return “suc”;)再走视图解析器,最后返回suc.jsp页面

  1. 拦截器和过滤器的功能比较类似,有区别

    1. 过滤器是Servlet规范的一部分,任何框架都可以使用过滤器技术。
    2. 拦截器是SpringMVC框架独有的。
    3. 过滤器配置了/*,可以拦截任何资源。
    4. 拦截器只会对控制器中的方法进行拦截。

异步交互的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值