运行webapp1,怎么会跳转到server中的登录界面的?听不太懂,老师可以将详细点吗?
正在回答 回答被采纳积分+1
LoginServlet里面,只是登录成功后,生成了一个ticket,然后把这个ticket通过url地址传给了webapp1,在webapp1的过滤器中把cookie添加到webapp1本地。然后在webapp1的MainServlet中调用setCookie()方法为webapp2也设置cookie。所以这里不需要ticket校验。你修改的这段代码,可以加个断点,比如在你修改的这个if语句中加断点,还有在MainServlet中的第一个if语句中加断点,看是否执行了setCookie()方法。断点调试的方式,就是加好断点后,运行的时候选择这个图标,
然后正常输入用户名和密码,提交后执行到断点就会停下来。然后进行单步调试就可以了
如图所示,是单步调试的按钮
祝学习愉快!
首先从登录说起,登录是从服务端登录的,登录成功后会跳转到一个链接:
在这个链接中的source就是webapp,比如是webapp1,source就是http://127.0.0.1:8081,后面的/main就是在webapp1中配置的servlet,那么这个servlet是在过滤器执行完没问题了以后会执行的servlet。在这个Servlet里面会跳转到相应的登录成功页面,如下所示就是跳转的链接。
过滤器中有很多if语句,执行时会按照从上往下的顺序依次进行判断,这些if语句其实是多种不同的情况。一开始判断是从cookie中取出ticket,如果有就是登录成功了,那么就调用doFilter()放继续执行Servlet。这种情况是已经登录过了,你再输入http://localhost:8081 的情况。
关于request,是直接从第一个图中取ticket的值,然后添加到cookie中,并完成跳转,执行Servlet。这种是在服务端登录后跳转过来的情况。
祝学习愉快!
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10205 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星