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,那样就自己处理了异常。