jsp的内置对象和常见问题
"pageContext"对象直译时可以称作"页面上下文"对象,代表的是当前页面运行的一些属性。
"out"对象代表了向客户端发送的数据对象,与"response"对象不同,通过"out"对象发送的内容将是浏览器显示的内容,是文本一级的。
"config"对象提供了一些配置信息。已获得Servlet初始化的参数。
"page"对象代表了真正运行的由JSP文件产生的类对象。
"exception"对象则代表了JSP文件运行时所产生的异常对象,此对象不能再一般JSP文件中直接使用,而只能在使用"<%@ page isErrorPage="true"%>"的文件中使用。
myResult.jsp 第一个
<!-- 遍历 -->
username:<%=request.getAttribute("username") %>
<% List<String> list = (List<String>)request.getAttribute("list");
for(int i = 0;i<list.size();i++)
{
out.println(i);
%>
<br>
<%}%>
HttpServletResponse对象的sendRedirect(String location)方法称作重定向。如果location地址前加上“/”,则表示相对于Servlet容器的根来请求,即http://localhost:8080,如果location地址前 没有加“/”,则表示相对于当前请求的URI来寻求地址。
RequestDispatcher的forward(request,response)称作求转发。
request请求转发:整个过程在同一个请求当中。
当客户端对服务器端有一个请求时,服务器端通过Servlet容器生成servlet对象(resquest,response)来调用doGet和doPost方法来执行请求响应的整个过程。
重定向:当客户端向服务器发送一个请求,到servlet对象执行到sendRedirect()时,会给服务器发送一个响应,让客户端去执行sendRedirect()方法的参数,这样客户端会向服务器在发送一次新请求访问这个参数页面,把结果返回给客户端。这个过程中发生了两次请求。
RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,于是属于请求对象的方法。
sendRedirect()是HttpServletResponse对象的方法,即相应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行结果。