重定向跳转页面

开发工具与关键技术:Visual Studio 2015
作者:徐晶旗
撰写时间:2019年4月5日

首先简单的做一下重定向的介绍:
重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其他位置(如:网页重定向、域名重定向、路由选中的变化也是对数据报文经由路径的一种重定向)。
我们在网站建设中,时常会遇到需要网页重定向的情况:

  1. 网站调整(如改变网页目录结构);
  2. 网页被移到一个新地址;
  3. 网页扩展名改变(如应需要把php改成。Html或shtml)。
    这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等。

所以我们做项目的时候一定要重定向一下,先从主页面跳转进来,再具体的跳到这一页面。
我在老师上课的内容基础上讲一下我自己的心得吧 !
我们判断当前用户是否从主页面登陆进去的,先要在主页面获取用户信息,如果有用户的信息,说明是从主页面进来的,在当前视图要注意一下,不能够直接执行这个视图,要先判断一下有没有用户进来, 所以到控制器这边补充一个代码,用try……catch来捕捉一下错误。

重定向页面java 重定向页面自动跳转_重定向

然后打开登陆页面的控制器,我们登陆的时候是用Session保存用户的信息

重定向页面java 重定向页面自动跳转_重定向页面java_02


接下来我们获取用户是否登陆进去了,如果登陆进去,那就说明它是从主页面进去的,如果没有Session的话,判断它有没有值,如果它没有值说明它并没有从主页面进去,那就应该让它重定向到登陆页面去。之前的代码运行运行一下它跳到了具体的页面,而不是从登陆页面进去。

重定向页面java 重定向页面自动跳转_重定向_03


所以就要加入两句代码,首先判断一下之前我们保存在Session里面的用户信息是否有值。所以就拿它来进行一个强制转换,强制转换用int类型如果它的数据有值,那么它就不会报错。如果它的数据是空,那么空就没办法和字符串进行数据转换,所以就会报错,一报错它就会自动跳转到catch这边来,然后到catch这边做个重定向。重定向有几种写法Redirect、RedirectToAction、RedirectToRoute,在这里我们用“Redurect”重定项下,然后转到相应的控制器,启动一下,它就不会跳转到具体的页面了,而是从登陆页面进去。

重定向页面java 重定向页面自动跳转_重定向_04

然后再运行一下,它就从登陆页面进去了。

重定向页面java 重定向页面自动跳转_重定向_05


注:由于对mvc还不太熟悉,所以图片来自老师上课内容,文字信息也有些是借鉴网上的,还有很多地方可能讲的不详细或者错漏,还望大家勿怪(ง •_•)ง