JSP小结(1)
- 1.Java Server Page:Java 服务器端网页。在 HTML 页面中编写 Java 代码的页面。
- 2.JSP 可以放置在 WEB 应用程序中的除了 WEB-INF 及其子目录外的其他任何目录中。
- 3.JSP的运行原理:JSP 本质上是一个 Servlet。每个JSP 页面在第一次被访问时,JSP 引擎将它翻译成一个 Servlet 源程序,接着再把这个 Servlet 源程序编译成 Servlet 的 class 类文件。然后再由 WEB 容器(Servlet引擎)像调用普通 Servlet 程序一样的方式来装载和解释执行这个由 JSP 页面翻译成的 Servlet 程序。
- 4.JSP 页面常用的隐含变量:
1)request:HttpServletRequest 的一个常用对象。
2)application:代表当前 WEB 应用,是 ServletContext 的常用对象。
3)out:JspWriter 对象,调用 out.println() 可以直接把字符串打印到浏览器上。 - 5.九个隐含变量
pageContext,request,session,application(对属性的作用域的范围从小到大)
out,response,config,page
exception
- 6.JSP 表达式(expression)提供了将一个 java 变量或表达式的计算结果输出到客户端的简化方式,它将要输出的变量或表达式直接封装在 <%= 和 %> 之中。
<%
Date date = new Date();
out.print(date);
%>
<%= date %>
- 7.JSP 脚本片断(scriptlet)指嵌套在 <% 和 %> 之中的一条或多条 Java 程序代码。 多个脚本片断中的代码可以相互访问。
<%
String ageStr = request.getParameter("age");
Integer age = Integer.parseInt(ageStr);
if(age >= 18){
%>
成人...
<%
}else{
%>
未成人...
<%
}
%>
- 8.JSP 注释的格式: <%-- JSP 注释 --%> <! – HTML 注释 -->。区别:JSP 注释可以阻止 Java 代码的执行。
- 9.和属性相关的方法:
void setAttribute(String name, Object o):设置属性
Object getAttribute(String name):获取指定的属性
Enumeration getAttributeNames():获取所有的属性的名字组成的 Enumeration 对象
removeAttribute(String name):移除指定的属性
- 10.pageContext,request,session,application 对象都有这些方法!
这四个对象也称之为域对象。
pageContext:属性的作用范围仅限于当前 JSP 页面。
request:属性的作用范围仅限于同一个请求(在有转发的情况下可以跨页面获取属性值)。
session:属性的作用范围限于一次会话:浏览器打开直到关闭称之为一次会话(在此期间会话不失效)。
application:属性的作用范围限于当前 WEB 应用,是范围最大的属性作用范围,只要在一处设置属性,在其他各处的 JSP 或 Servlet 中都可以获取到。
- 11.本质区别:请求的转发只发出了一次请求, 而重定向则发出了两次请求。
String path = "testServlet";
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/" + path);
requestDispatcher.forward(request, response);
String path = "testServlet";
response.sendRedirect(path);
- 12.具体区别:
1)
①请求的转发:地址栏是初次发出请求的地址。
②请求的重定向:地址栏不再是初次发出的请求地址。地址栏为最后响应的那个地址。
2)
①请求的转发:在最终的 Servlet 中,request 对象和中转的那个 request 是同一个对象。
②请求的重定向:在最终的 Servlet 中,request 对象和中转的那个 request 不是同一个对象。
3)
①请求的转发:只能转发给当前 WEB 应用的的资源。
②请求的重定向:可以重定向到任何资源。
4)
①请求的转发:/ 代表的是当前 WEB 应用的根目录。
②请求的重定向:/ 代表的是当前 WEB 站点的根目录。
5)注意:
当前 WEB 应用的根目录:http://localhost:8080/项目名称/
站点的根目录:http://localhost:8080/