springboot 重定向传递 header spring重定向和转发_自定义异常


转发和重定向

springboot 重定向传递 header spring重定向和转发_自定义异常_02


转发和重定向区别和servlet类似

转发是服务器内部调用,可以访问受保护的资源

重定向不能访问受保护的资源。

springboot 重定向传递 header spring重定向和转发_异常处理_03


springboot 重定向传递 header spring重定向和转发_自定义异常_04


springboot 重定向传递 header spring重定向和转发_自定义异常_05


springboot 重定向传递 header spring重定向和转发_异常处理_06


springboot 重定向传递 header spring重定向和转发_重定向_07


springboot 重定向传递 header spring重定向和转发_自定义异常_08


springboot 重定向传递 header spring重定向和转发_自定义异常_09


springboot 重定向传递 header spring重定向和转发_自定义异常_10


doProcess能够拿到dodispatch方法内的参数myname,maage

重定向:

springboot 重定向传递 header spring重定向和转发_异常处理_11


springboot 重定向传递 header spring重定向和转发_异常处理_12


springboot 重定向传递 header spring重定向和转发_异常处理_13


springboot 重定向传递 header spring重定向和转发_异常处理_14


springboot 重定向传递 header spring重定向和转发_重定向_15


springboot 重定向传递 header spring重定向和转发_重定向_16


springboot 重定向传递 header spring重定向和转发_重定向_17


springboot 重定向传递 header spring重定向和转发_异常处理_18


不能访问受保护的资源。

当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向。而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器。
对于请求转发的页面,也可以是WEB-INF中页面;对于重定向的页面,不能为WEB-INF中的页面。因为重定向相当于用户再次发出一次请求,而用户是不能直接访问WEB-INF中资源的

springboot 重定向传递 header spring重定向和转发_重定向_19


springboot 重定向传递 header spring重定向和转发_重定向_20


springboot 重定向传递 header spring重定向和转发_自定义异常_21


springboot 重定向传递 header spring重定向和转发_异常处理_22


springboot 重定向传递 header spring重定向和转发_重定向_23


重定向中携带了两个参数?为什么?

springboot 重定向传递 header spring重定向和转发_自定义异常_24


框架中,执行重定向的时候,自动将模型中简单类型的参数值转为字符串,作为重定向的参数传递。

再jsp中取出参数:

springboot 重定向传递 header spring重定向和转发_重定向_25


param表示请求中的参数。

springboot 重定向传递 header spring重定向和转发_自定义异常_26


springboot 重定向传递 header spring重定向和转发_异常处理_27


springboot 重定向传递 header spring重定向和转发_自定义异常_28


实验传递对象:

springboot 重定向传递 header spring重定向和转发_自定义异常_29


springboot 重定向传递 header spring重定向和转发_异常处理_30


springboot 重定向传递 header spring重定向和转发_自定义异常_31


访问的参数中,没有对象。

处理器方法返回String重定向到视图

springboot 重定向传递 header spring重定向和转发_重定向_32


springboot 重定向传递 header spring重定向和转发_重定向_33


springboot 重定向传递 header spring重定向和转发_重定向_34


springboot 重定向传递 header spring重定向和转发_重定向_35


springboot 重定向传递 header spring重定向和转发_重定向_36


springboot 重定向传递 header spring重定向和转发_自定义异常_37


springboot 重定向传递 header spring重定向和转发_自定义异常_38


springboot 重定向传递 header spring重定向和转发_自定义异常_39


springboot 重定向传递 header spring重定向和转发_异常处理_40


springboot 重定向传递 header spring重定向和转发_自定义异常_41

springboot 重定向传递 header spring重定向和转发_自定义异常_42


springboot 重定向传递 header spring重定向和转发_重定向_43


return视图的逻辑名称,forward到指定视图

springboot 重定向传递 header spring重定向和转发_重定向_44

SpringMVC异常处理:

springboot 重定向传递 header spring重定向和转发_重定向_45


springboot 重定向传递 header spring重定向和转发_自定义异常_46


springboot 重定向传递 header spring重定向和转发_自定义异常_47


springboot 重定向传递 header spring重定向和转发_异常处理_48


springboot 重定向传递 header spring重定向和转发_自定义异常_49


springboot 重定向传递 header spring重定向和转发_重定向_50


springboot 重定向传递 header spring重定向和转发_自定义异常_51


springboot 重定向传递 header spring重定向和转发_自定义异常_52


springboot 重定向传递 header spring重定向和转发_异常处理_53


springboot 重定向传递 header spring重定向和转发_异常处理_54

异常处理器类:

springboot 重定向传递 header spring重定向和转发_重定向_55


springboot 重定向传递 header spring重定向和转发_重定向_56


springboot 重定向传递 header spring重定向和转发_异常处理_57


springboot 重定向传递 header spring重定向和转发_自定义异常_58


springboot 重定向传递 header spring重定向和转发_重定向_59


异常的处理页面,有两种形式,由于存在视图解析器:

springboot 重定向传递 header spring重定向和转发_异常处理_60


此处使用第一种,视图的逻辑名称。

springboot 重定向传递 header spring重定向和转发_异常处理_61


springboot 重定向传递 header spring重定向和转发_异常处理_62


springboot 重定向传递 header spring重定向和转发_异常处理_63


springboot 重定向传递 header spring重定向和转发_自定义异常_64


springboot 重定向传递 header spring重定向和转发_异常处理_65


springboot 重定向传递 header spring重定向和转发_自定义异常_66


springboot 重定向传递 header spring重定向和转发_重定向_67


springboot 重定向传递 header spring重定向和转发_重定向_68


springboot 重定向传递 header spring重定向和转发_自定义异常_69


正确的:

springboot 重定向传递 header spring重定向和转发_重定向_70


正常

springboot 重定向传递 header spring重定向和转发_重定向_71


springboot 重定向传递 header spring重定向和转发_异常处理_72


springboot 重定向传递 header spring重定向和转发_自定义异常_73


springboot 重定向传递 header spring重定向和转发_重定向_74


springboot 重定向传递 header spring重定向和转发_异常处理_75


springboot 重定向传递 header spring重定向和转发_异常处理_76


springboot 重定向传递 header spring重定向和转发_异常处理_77


springboot 重定向传递 header spring重定向和转发_自定义异常_78


springboot 重定向传递 header spring重定向和转发_异常处理_79


springboot 重定向传递 header spring重定向和转发_自定义异常_80


springboot 重定向传递 header spring重定向和转发_重定向_81


springboot 重定向传递 header spring重定向和转发_自定义异常_82


springboot 重定向传递 header spring重定向和转发_异常处理_83


该异常处理器比较简单,一般不用。

自定义异常处理器

springboot 重定向传递 header spring重定向和转发_自定义异常_84


springboot 重定向传递 header spring重定向和转发_异常处理_85


springboot 重定向传递 header spring重定向和转发_异常处理_86


springboot 重定向传递 header spring重定向和转发_自定义异常_87


springboot 重定向传递 header spring重定向和转发_异常处理_88


springboot 重定向传递 header spring重定向和转发_异常处理_89


springboot 重定向传递 header spring重定向和转发_异常处理_90


springboot 重定向传递 header spring重定向和转发_重定向_91


springboot 重定向传递 header spring重定向和转发_自定义异常_92


springboot 重定向传递 header spring重定向和转发_自定义异常_93


springboot 重定向传递 header spring重定向和转发_异常处理_94


springboot 重定向传递 header spring重定向和转发_重定向_95


一般使用这种异常处理方式。

异常处理注解方式

springboot 重定向传递 header spring重定向和转发_重定向_96


springboot 重定向传递 header spring重定向和转发_重定向_97


springboot 重定向传递 header spring重定向和转发_自定义异常_98


springboot 重定向传递 header spring重定向和转发_重定向_99


springboot 重定向传递 header spring重定向和转发_重定向_100


springboot 重定向传递 header spring重定向和转发_自定义异常_101


springboot 重定向传递 header spring重定向和转发_异常处理_102


框架先去匹配定义好的value,找不到后再去找没有value属性的,也就是默认处理方法。

springboot 重定向传递 header spring重定向和转发_自定义异常_103


注解:@ExceptionHandler必须定义在@Controller类之中的。

springboot 重定向传递 header spring重定向和转发_重定向_104


测试成功!局限性:

注解的这些异常处理方法,只能用于当前类。

springboot 重定向传递 header spring重定向和转发_自定义异常_105


springboot 重定向传递 header spring重定向和转发_异常处理_106


springboot 重定向传递 header spring重定向和转发_自定义异常_107


测试正确!

使用该自定义异常的前提是必须把异常抛出去,不能使用try catch,那样就自己处理了异常。