本篇博客的主要内容是:
● 请求转发和响应重定向设置方式和效果;
● 请求转发和响应重定向背后的原理;
● 请求(request对象)中添加自定义属性;并通过设置属性,分别印证了请求转发和响应重定的不同;
以前接触的都是一个Servlet;而实际情况中,是需要多个Servlet之间跳转的,而Servlet之间的跳转方式分为:请求转发和响应重定向;
准备的俩Servlet:
例如登录这个功能:在登录界面,输入用户名和密码后并点击登录后;其会跳转到登录成功后的那个界面;(主要是为了说明实际中,需要不同页面间的跳转显示啦)
请求转发设置与效果:
(Dispatcher的意思是:调度员)
效果:
上面分析:输入http://localhost:8080/servlet_advanced/direct/check后,其会先进入CheckLoginServlet这个Servlet,并打印了“用户登录成功”:
然后,将当前的请求给转发到了IndexServlet这个Servlet上:
从而,触发了IndexServlet中的输出语句;
于是,在浏览器界面上就看到了:This is index page.
重定向的设置与效果:
效果:
请求转发的原理:
响应重定向的原理:
请求中添加自定义属性
请求中出了有浏览器向服务器发送的数据以为,还可以附加自己创建的信息(这些自己创建的信息被称作自定义属性)
其中的 属性值:可以是任何有效的Java对象;
请求转发的情况下,自定义属性示例:
效果:
注: 通过上面例子,request(请求)和response(响应)都是特殊的Java对象,其有属性,有方法;可以设置属性,可以调用方法!!!!!!!!!!!!!!!!!
响应重定向的情况下,自定义属性示例:
效果: