Servlet页面跳转

之前写代码都是百度一下,然后改一下,现在突然有了想要总结几套比较好用的方式,但是有老是记不住的方法,其实主要是因为要找实习了,这段时间正好又空窗期了,稍微有点闲,也懒得以后老是找资料麻烦,自己就事先总结一下,方便自己,方便他人。所谓赠人玫瑰,手留余香。大概就是这个道理吧,哈哈。
其实上课的老师讲过,servlet就是jsp,jsp就是servlet,jsp经过编译之后就是servlet,当然对于我这个颜控来说,只要长的不一样,你就是不一样,所以这里我会分开说的,刚入学的小朋友们放心啦。。。
首先说servlet:一般跳转都是发生在doGet和doPost方法中,因为参数是提交到这里的呀,我们经过调用service,dao层的业务处理方法完成之后,会跳转到另外一个界面啦,有时候还需要带着处理结果返回去呢。servlet跳转方式主要有一下几种:
1).redirect方式:
   这种方法最简单,response.sendRedirect("/a.jsp");这个要注意哦,加上表示是相对路径,不是从项目的跟路径算起哦,是从tomcat服务器的根目录开始的,所以呢,一定要加上你的项目名字,我的就是response.sendRedirect("/MyFramework/success.jsp");
    这种方法可以跳转到任意界面,不仅仅限于你的项目内的页面,为什么呢?很简单,因为它是从服务器的根目录算起啊,甚至你可以跳到其他服务器上的页面,小编试过哦,response.sendRedirect("http://www.baidu.com/");这个都可以呢,呵呵。而且跳转之后浏览器的地址栏里是发生变化的呢。
    能不能带着返回结果跳转呢,当然可以,只要在url中带参数就可以啦,其实这样子传递字符串可以,能不能传递对象小编正在试,貌似行不通啊!当然还可以通过session中进行传递,但是不能使用request.setAttribute来传值。
使用session传值:HttpSession session=request.getSession();session.setAttribute("username",username); 
在页面取值:session.getAttribute("username");
好吧,刚才去忙其他事情了,现在回来了。
session是可以传递对象到前台的,我在后台封装了个User类。
在跳转之前,User user=new User(username,password);
HttpSession session=request.getSession(true);session.setAttribute("user",user);
前台jsp页面是如何取值的呢,哈哈,请原谅我不太会,我用的jstl去取的值,呜呜呜,哪个大神能告诉我其他方法,也感激不尽哪。我是这样写的:

首先导入标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>   
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

然后取值就很简单了,就是${user.username},然后就取出来值了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值