SpringMVC
文章平均质量分 61
学习SpringMVC的一些历程
SYKMI
这个作者很懒,什么都没留下…
展开
-
SpringMVC执行流程
(1)浏览器提交请求到中央调度器(2)中央调度器直接将请求转给处理器映射器。(3)处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链后返回给中央调度器。(4)中央调度器根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器。(5)处理器适配器调用执行处理器。(6)处理器将处理结果及要跳转的视图封装到一个对象 ModelAndView 中,并将其返回给处理器适配器。(7)处理器适配器直接将结果返回给中央调度器。(8)中央调度器调用视图解析器,将 ModelAndV.原创 2022-04-07 23:14:10 · 85 阅读 · 0 评论 -
拦截器Interceptor
SpringMVC 中的 Interceptor 拦截器是非常重要和相当有用的,它的主要作用是拦截指定的用户请求,并进行相应的预处理与后处理。其拦截的时间点在“处理器映射器根据用户提交的请求映射出了所要执行的处理器类,并且也找到了要执行该处理器类的处理器适配器,在处理器适配器执行处理器之前”。当然,在处理器映射器映射出所要执行的处理器类时,已经将拦截器与处理器组合为了一个处理器执行链,并返回给了中央调度器。自定义拦截器一般自定义一个拦截器需要实现HandlerInterceptor接口,该接口中有三个方原创 2022-04-07 22:31:53 · 2484 阅读 · 0 评论 -
SpringMVC异常处理
SpringMVC 框架处理异常的常用方式:一般使用@ControllerAdvice和@ExceptionHandler注解处理异常。@ExceptionHandler使用此注解可以将一个方法定义为异常处理方法,该注解有一个属性可选value,为一个 Class<?>数组,用于指定该注解的方法所要处理的异常类,即所要匹配的异常。而被注解的方法,其返回值可以是 ModelAndView、String,或 void,方法名随意,方法参数可以是 Exception 及其子类对象、HttpSer原创 2022-04-07 22:29:12 · 113 阅读 · 0 评论 -
关于MVC框架提供的转发与重定向
SpringMVC 框架把原来 Servlet 中的请求转发和重定向操作进行了封装。现在可以使用简单的方式实现转发和重定向。请求转发处理器方法返回 ModelAndView 时,需在 setViewName()指定的视图前添加 forward:,且此时的视图不再与视图解析器一同工作,这样可以在配置了解析器时指定不同位置的视图。视图页面必须写出相对于项目根的路径。forward 操作不需要视图解析器。处理器方法返回 String,在视图路径前面加入 forward: 视图完整路径。请求重定向重定向原创 2022-04-05 22:36:15 · 460 阅读 · 0 评论 -
关于前端页面请求路径的一些写法问题
在我们写前端页面发起请求时,一般写法有三种以斜杠开头的 例如href=‘/应用上下文/login.jsp’不以斜杠开头的href=‘login.jsp’有前缀请求方式的href=‘http://www.baidu.com’其中第三种方式大家都了解,就是直接跳转到百度的页面,地址栏直接填充www.baidu.com,这个就不多说了,那么前两种方式都有什么区别呢曾经这是个令我头疼的问题,必须记录下来第一种方式第一种以斜杠开头的链接,其中它的斜杠表示根目录,这个根目录是相对于浏览器的,对应的就是原创 2022-04-05 22:23:58 · 2002 阅读 · 0 评论 -
解读MVC框架中DispatcherServlet中的url-pattern
之前使用中央调度器分发请求时url-pattern标签里填的都是*.do、*.action等,目的是区分中央调度器接收的请求不是一些其他的东西(比如静态资源啥的)。但是这样做的话,我们后端控制器的方法的请求映射里几乎都需要填写XXX.do或者XXX.action。似乎有点麻烦。那么我们能不能直接在中央调度器中的url-pattern中匹配接收所有请求呢?其实是可以的,但需要做一些其他的操作保证中央调度器不会接到一些奇奇怪怪的请求,比如访问图片等静态资源,因为中央调度器是无法处理访问静态资源的请求的,只能原创 2022-04-04 15:53:10 · 659 阅读 · 0 评论 -
SpringMVC中后端处理器方法的返回值
使用@Controller注解标识的后端处理器类中的方法,其返回值通常有四种情况1. ModelAndView若处理器方法处理完之后,需要跳转到其他页面并且需要传递一些数据,此时返回ModelAndView比较好。例子:2. String当后端控制器方法返回类型为String时,代表返回的是视图的完整路径名(前提:不要在项目里配置视图解析器!!!)例子:这种方式有个不好的地方就是如果后端有很多方法需要跳转很多jsp页面,那么都写相对路径很繁琐。于是MVC框架为了解决这个问题提供了视图解析器,原创 2022-04-04 15:13:47 · 793 阅读 · 0 评论 -
SpringMVC中使用过滤器解决前后端乱码
有时前端传值为中文时后端控制器接收的时候由于编码方式不同,会出现接收到的值为乱码的情况。这时我们可以使用过滤器来统一设置编码格式解决乱码的问题在web.xml文件中使用springmvc提供的CharacterEncodingFilter类来解决此问题...原创 2022-03-28 20:43:11 · 244 阅读 · 0 评论 -
SpringMVC常用注解和其他小知识点
在SpringMVC开发中用到了大量的注解,此文记录下常用的注解的意义和用途@Controller@Controller:创建后端控制器(处理器)对象,一般用于处理前端控制器的分发过来的请求位置:此注解放在类的上面,表示创建此类的对象,对象放在springMVC的容器中@RequestMapping@RequestMapping:顾名思义,请求映射,一般用于将指定的请求URL交给指定的方法处理位置:可以放在类上和方法上属性:1-value(表示请求的uri地址,唯一值,以 / 开头)2原创 2022-03-28 20:17:20 · 352 阅读 · 0 评论 -
创建一个简单的SpringMVC项目
这次学习到了MVC框架,记录下创建MVC框架项目的Demo的步骤1-创建基于maven的webapp模板项目2-在pom.xml中添加需要使用到的依赖由于这里只是一个简单的Demo,并不包含业务层和持久层,所以只需要添加servlet依赖和webmvc依赖即可关于图中的webmvc依赖和spring-web依赖的区别参见点此查看区别3-在web.xml中声明DispatcherServlet(前端控制器)上图最下层的url-pattern代表接收一切以.do结尾的请求交给前端控制器处理配置原创 2022-03-23 22:40:03 · 1299 阅读 · 0 评论