java web的基础知识:jsp相关知识

一.概述

1.1 jsp

JSP页面由HTML和嵌入其中的Java代码构成的。当客户端通过页面发

送请求时,服务器端就会对页面中嵌入的Java代码进行编译处理,然后生成HTML页面重新返回给客户端进行显示。

可以把执行JSP页面的执行分成两个阶段,一个是转译阶段,一个是请求阶段

转译阶段:JSP页面转换成Servlet类。

请求阶段:Servlet类执行,将响应结果发送至客户端。 

java web的基础知识:jsp相关知识

java web的基础知识:jsp相关知识 

1.2 jsp的声明语句

JSP声明语句以<%!开始,以%>结束,其语法格式为:<%! 声明语句 %>使用声明语句声明的变量为全局变量,也就是说,当有多个用户在执行此JSP页面时,将共享该变量。

JSP表达式以<%=开始,以%>结束,其语法格式为:<%= Java代码 %>。JSP表达式中的代码会首先执行,然后转换成字符串并显示到网页上。

JSP注释使用<%- -作为开始,以--%>作为结束,中间包含的代码即为注释部分。

1.3 jsp的指令

<%@ page contentType="text/html;charset=ISO-8859-1"%>:contentType属性用来指定该JSP文件的MIME格式,以及网页编码格式。

<%@ page pageEncoding=” ISO-8859-1”%>:pageEncoding属性用来指定网页的编码格式。

include指令用于在JSP文件中插入一个包含文本或代码的文件,在转换成Servlet时将指定的文件和当前的文件进行合并。

<jsp:include flush="true" page="hello.jsp"></jsp:include>

—熟练使用<jsp:include>动作元素来包含文件。

—熟练使用<jsp:forward>动作元素来实现页面跳转。

—熟练使用<jsp:param>动作元素来传递参数。

—了解使用<jsp: plugin >动作元素来执行Applet。

taglib指令用来声明此JSP文件使用了自定义标签。

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>

1.4 jsp的9大内置对象

1.page范围,就是指设置的属性只在当前页面有效。通过使用pageContext的setAttribute()方法来设置属性,并通过pageContext的getAttribute()方法来取得属性

2.request范围

     所谓request范围,就是指属性在一次请求范围内有效。如果跳转是指客户端跳转,页面从一个页面跳转到另一个页面,那么该属性就失效了。比如客户单击超链接跳转到其他页面,或者通过浏览器地址栏浏览其他网页。如果使用服务器端跳转<jsp:forward>,则该属性仍然有效。通过使用request的setAttribute()方法来设置属性,并通过request的getAttribute()方法来取得属性。

3.response对象用来给客户端传送输出信息。

4.out对象用来向网页输出信息。

5.session对象用来表示用户的会话状况,一般用于保存用户的各种信息,直到生命周期超时或者被认为释放掉为止。

6.application对象用来取得和设置Servlet的相关信息。application对象的生命周期是从服务器启动产生直到服务器关闭为止,在此期间所有的用户会共享这一个Application对象。该对象只可以由服务器来创建和清除,而用户不可以对其进行创建和清除操作。

7.pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。

8.config 对象是javax.servlet.ServletConfig类的实例对象。主要作用是取得服务器的配置信息。

9.exception 对象的作用是显示异常信息,只有在包含 isERRORPage=”true” 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。

1.5 客户端跳转和服务端跳转

在Servlet中实现页面的跳转有两种方式:请求转发和重定向

1.5.1 请求转发

1.由服务器端进行的页面跳转,叫请求转发

java web的基础知识:jsp相关知识

转发的特点:地址栏不发生变化,显示的是上一个页面的地址

请求次数:只有1次请求

根目录: http://localhost:8080/项目地址/,包含了项目的访问地址,请求域中数据不会丢失

使用的方法:request.getRequestDispatcher("/地址").forward(request, response);

1.5.2 重定向

由浏览器端进行的页面跳转:称之为重定向

 

java web的基础知识:jsp相关知识 

 

重定向的特点

地址栏:显示新的地址

请求次数:2次

根目录:http://localhost:8080/ 没有项目的名字

请求域中的数据会丢失,因为是2次请求

java web的基础知识:jsp相关知识