Spring MVC流程

  • Spring MVC流程

1.用户发送请求至前端控制器DispatcherServlet(也叫中央处理器).
2.DispatcherServlet收到请求调用HandlerMapping处理器映射器
3.处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet.
4.DispatcherServlet调用HandlerAdapter处理器适配器。
5.HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
6.Controller执行完成返回ModelAndView.
7.HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet.
8.DisPatcherServlet将ModelAndView传给ViewResolver视图解析器。
9.ViewReslover解析后返回具体View.
10.DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11.DispatcherServlet响应用户。


image
  • 结合用户的登录请求解释Spring MVC原理

  • 基于spring文件上传

pom.xml加依赖

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.4</version>
</dependency>

配置xml文件

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8"/>
    <property name="maxUploadSize" value="81920"/>
    <property name="uploadTempDir" value="temp"/>
</bean>

第一个属性指定的默认编码是UTF-8,第二个属性指定了最大上传文件的大小,单位是byte,第三个指定了上传文件的缓存路径。

PostMapping("/uploadFile")
public String uploadFile(@RequestParam("userName") String userName, @RequestParam("password") String password, @RequestParam("file")MultipartFile file) throws IOException {
    System.out.println("userName = "+userName);
    System.out.println("password = "+password);

    if(!file.isEmpty()){
        System.out.println("original fileName"+file.getOriginalFilename());
        //实现文件上传全靠这个一行代码~
        File dest = new File("d:\\ceshi\\"+file.getOriginalFilename());
        file.transferTo(dest);
        BufferedReader br = new BufferedReader(new FileReader(dest));
        String str;
        while((str=br.readLine())!=null){
            System.out.println(str);
        }
        br.close();
    }
    return "redirect:/main/employees";
}

简单 优雅~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容