JavaWeb同步学习笔记之十九、JavaWeb_JSP小结(1)

JavaWeb_JSP小结(1)

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.本质区别:请求的转发只发出了一次请求, 而重定向则发出了两次请求。
		//请求转发的代码.
		//1. 调用 HttpServletRequest 的 getRequestDispatcher() 方法获取  RequestDispatcher 对象
		//调用 getRequestDispatcher() 需要传入要转发的地址
		String path = "testServlet";
		RequestDispatcher requestDispatcher = request.getRequestDispatcher("/" + path);
		
		//2. 调用 HttpServletRequest 的 forward(request, response) 进行请求的转发. 
		requestDispatcher.forward(request, response); 
		//请求重定向的代码
		//执行请求的重定向, 直接调用 response.sendRedirect(path) 方法,
		//path 为要重定向的地址
		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/

猜你喜欢

转载自blog.csdn.net/baidu_38688346/article/details/88110170