springmvc配置

这一次,我连 web.xml 都不要了,纯 Java 搭建 SSM 环境!

谁都会走 提交于 2020-03-06 05:48:18
在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭建框架,Spring Boot 中,大量的自动化配置都是通过 Java 配置来实现的,这一套实现方案,我们也可以自己做,即自己也可以使用纯 Java 来搭建一个 SSM 环境,即在项目中,不存在任何 XML 配置,包括 web.xml 。 环境要求: 使用纯 Java 来搭建 SSM 环境,要求 Tomcat 的版本必须在 7 以上。 快速体验 1 创建工程 创建一个普通的 Maven 工程(注意,这里可以不必创建 Web 工程),并添加 SpringMVC 的依赖,同时,这里环境的搭建需要用到 Servlet ,所以我们还需要引入 Servlet 的依赖(一定不能使用低版本的 Servlet),最终的 pom.xml 文件如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.6.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet<

根据登录流程解释Springmvc原理day3_5

我是研究僧i 提交于 2020-03-06 00:03:42
SpringMVC与Struts SpringMVC采用Servlet。而Struts采用filter Filter在容器启动之后即初始化;服务停止以后销毁,晚于Servlet。Servlet在是在调用时初始化,服务停止后销毁。 Struts2框架是类级别的拦截,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,所以方法直接基本上是独立的。 SpringMVC实现了零配置,由于SpringMVC基于方法的拦截,有加载一次单例模式bean注入。 而Struts2是类级别的拦截,每次请求对应实例一个新的Action,需要加载所有的属性值注入,所以,SpringMVC执行效率和性能高于Struts2,但是开发效率略比Struts2差一些。 Struts2有自己的拦截Interceptor机制,SpringMVC可以采用独立的Aop方式也有自己的拦截器AbstractInterceptor 视图解析器 会 根据 把控制器返回的逻辑视图名 确定 渲染模型的视图文件的物理位置。 SpringMvc原理 根据登录流程解释SpringMvc的原理 用户进入登录页面,输入用户名和密码进行登录请求,将登录请求发给DispatcherServlet,调用handleradapter,根据请求的路径来确定执行哪个控制器,在控制器中处理业务逻辑,从数据库中调出用户名和密码的数据

SpringMVC学习(一)SpringMVC入门 、HelloSpringMVC程序、SpringMVC执行原理

丶灬走出姿态 提交于 2020-03-04 14:21:19
一、SpringMVC简介 官方文档地址 1、什么是SpringMVC? Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的 轻量级Web框架 ,即使用了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型, SpringMVC框架的目的就是帮助我们简化开发。 2、SpringMVC的优点 (1)结构松散,几乎可以在 Spring MVC 中使用各类视图 (2)松耦合,各个模块分离 (3)和Spring的兼容性好, 无缝集成 二、SpringMVC执行原理 1、SpringMVC中的 DisPatchServlet Spring的web框架围绕DispatcherServlet设计。 DispatcherServlet的作用是将请求分发到不同的处理器.。 Spring MVC框架像许多其他MVC框架一样, 以请求为驱动 , 围绕一个中心Servlet分派请求及提供其他功能,DispatcherServlet是一个实际的Servlet (它继承自HttpServlet 基类)。 2、SpringMVC的执行原理 图解: 图中的实线部分为SpringMVC为我们提供好的技术,不需要我们程序员进行多余的操作,虚线部分就是我们程序员要实现的。 流程分析: 我们假设请求的url为 : http://localhost:8080

SpringMVC文件上传

泄露秘密 提交于 2020-03-03 14:54:08
SpringMVC中使用文件上传功能 Servlet3.0之前需要使用commons file upload和commons io组件,依赖了两个jar commons-fileupload-1.3.jar commons-io-2.4.jar 一、spring配置文件中配置bean 二、文件上传jsp编写 三、编写Controller 四、测试 来源: CSDN 作者: 迷茫表锅 链接: https://blog.csdn.net/m0_46437431/article/details/104629784

SpringMVC运行原理总结

荒凉一梦 提交于 2020-03-02 06:30:40
1、 用户发送请求至前端控制器DispatcherServlet捕获 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器 a、 进入DispatcherServlet类 Service方法(位于DispatcherServlet类继承的——FrameworkServlet类中)捕获该请求: @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpMethod httpMethod = HttpMethod.resolve(request.getMethod()); if (HttpMethod.PATCH == httpMethod || httpMethod == null) { processRequest(request, response); } else { super.service(request, response); } } b、 获取到对应方法之后会调用对应(此处为doGet)方法: @Override protected final void doGet(HttpServletRequest request,

【SSM】SSM之SpringMVC框架:SpringMVC的工作原理

情到浓时终转凉″ 提交于 2020-03-01 16:34:09
客户端发送的请求被DispatcherServlet捕获后其流程如下: 其大致流程如下: 1、用户发送请求至前端控制器DispatcherServlet。 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器如果没有找到具体的处理器: 如果配置了<mvc:default-servlethandler/>,就调用默认的Servlet处理找到匹配的静态资源,如果没有找到就返回404页面; 如果没配置<mvc:default-servlethandler/>,直接返回404页面。 3、处理器映射器如果找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、执行处理器拦截器的preHandle()方法(如果有的话)。 5、DispatcherServlet获得HandlerAdapter处理器适配器。 5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。 6、Controller执行完成返回ModelAndView前执行处理器拦截器的postHandle()方法(如果有的话)。 7、Controller执行完成返回ModelAndView。 8

SpringMVC学习系列(3) 之 URL请求到Action的映射规则

删除回忆录丶 提交于 2020-02-29 18:38:29
在系列(2)中我们展示了一个简单的get请求,并返回了一个简单的helloworld页面。本篇我们来学习如何来配置一个action的url映射规则。 在系列(2)中我们在HelloWorldController上配置了一个@RequestMapping(value = "/helloworld")这表示对该controller的所有action请求必须是以"/helloworld”开始。 1.URL路径映射 1.1.对一个action配置多个URL映射: 我们把上一篇中的HelloWorldController的index() action方法的@RequestMapping更改为@RequestMapping(value={"/index", "/hello"}, method = {RequestMethod.GET}),这表示对该action配置了/index和/hello两个映射。运行测试,如下: 可以看到/helloworld/hello请求也成功匹配。 1.2.URL请求参数映射: 这在查询的时候经常用到,比如我们根据id或编号来获取某一条记录。 在HelloWorldController添加一个getDetail的action,代码如下: @RequestMapping(value="/detail/{id}", method = {RequestMethod.GET

springmvc自定义拦截器

橙三吉。 提交于 2020-02-29 14:53:11
1、步骤 1.1、创建自定义拦截器类,实现HandlerInterceptor接口 1.2、在springmvc.xml中配置自定义拦截器 2、具体代码 2.1、自定义拦截器类 package com.ly.mvc.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyInterceptor1 implements HandlerInterceptor { /** * 前处理方法,在控制器方法执行前执行 * 返回false不会执行后续拦截器以及控制器 * 返回true,若还有拦截器会继续执行后续拦截器,若没有拦截器会执行控制器的方法 */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws

SpringMVC详述拦截器

与世无争的帅哥 提交于 2020-02-28 19:11:28
首先 我们想使用拦截器 要在application.xml中进行如下配置: 这里这个MyInterceptor是我们自己写的拦截器,如下 功能如上图 我们接下来分析一下源码,详述一下 拦截器中每个方法的作用 preHandle方法 如上面两张图所示,就找到了我们自定义拦截器中的preHandler方法 如果我们自己写的preHandler方法返回结果为false,则doDispatch方法中红框内的条件判断为true,则return跳过doDispatch方法,不再执行,所以这个preHandler方法通常用来做设置权限 postHandler方法 如上图,若果applyPreHandler判断为false 则先执行handler方法,然后将返回的视图,传入我们的applyPostHandler方法中 ,遍历出我们的拦截器,然后调用我们拦截器中的postHandler方法 因为此时请求发出,执行完Controller层方法之后还没有响应在页面上,所以此时我们可以通过这个postHandler方法对mv视图进行一下处理再响应至显示页面上 afterCompletion方法 出现异常释放资源用 来源: CSDN 作者: S_Tian 链接: https://blog.csdn.net/S_Tian/article/details/104559328

springmvc项目,启动报错Context initialization failed

吃可爱长大的小学妹 提交于 2020-02-28 03:37:05
错误描述如下: springmvc项目 tomcat启动报错: Context initialization failed org . springframework . beans . factory . BeanDefinitionStoreException : IOException parsing XML document from class path resource [ spring - conf / applicationContext . xml ] ; nested exception is java . io . FileNotFoundException : class path resource [ spring - conf / applicationContext . xml ] cannot be opened because it does not exist xml 文件 提示没有配置上下文,classpath报红,resource 文件夹图标显示不正确 解决方法:(工具IDEA) File => Project Structure => Modules 添加 如图: 正常启动 ps: 个人项目解决办法 来源: CSDN 作者: fyytycoon 链接: https://blog.csdn.net/fyytycoon/article