1、 forward是服务器端的转向也就是请求转发而redirect是客户端的跳转也就是重定向
2、 使用forward浏览器的地址不会发生改变。而redirect会发生改变。
3、 forward是一次请求中完成。而redirect是重新发起请求。
4、 forward是在服务器端完成,而不用客户端重新发起请求,效率较高。
1、请求转发的特点:
1》只请求一次,而且属于内部跳转
2》地址栏不会发生变化
3》不允许访问外部资源
4》绝对路径的/代表的是根目录之后
5》效率偏高
请求转发的语法:
request.getRequestDispacher(地址).forward(请求对象,响应对象)
2、重定向的特点:
1》整个过程发出两次请求
2》地址栏会发生变化,并跳转到最新的页面,地址栏也是最新页面的地址
3》允许访问外部资源,因为服务器已经响应回了浏览器,而且浏览器也发出了新的请求,由于HTTP是无状态的所以两次请求没有联系,第二次请求可以随意去任何网页
4》绝对路径的/代表的是端口号之后
5》效率偏低,因为有两次请求,相对来说效率低
重定向语法:
response.sendRedirect(地址)
4、jsp九大内置对象
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet 正在执行的内容
out 用来传送回应的输出
config servlet的构架部件
page JSP网页本身
exception 针对错误网页,未捕捉的例外
request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page表示从该页面产生的一个servlet实例
5、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的html里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。