一、JSP简介:
JSP(Java Server Pages,Java服务器端页面开发技术)
JSP可以实现的技术都可以通过Servlet实现,他们本质上是一样的。但JSP设计的目的在于简化表示层的表示。JSP执行前都会被转化为Servlet。
二、JSP页面包括三大部分:
指令、Java脚本、动作组件。
1.指令:
page指令:用来定义整个JSP页面的全局属性。
格式:<%@ 指令名 属性名="值" %>
import(导入包)、contentType(服务器向浏览器响应输出的文件格式类型和字符集编码方式)、 isThreadSafe、session、buffer、autoflush 、extends、info、errorPage (处理异常事件的JSP文件)、isErrorPage和language(脚本语言)等。
<%@ page language="java" %> <%@ page contentType="text/html;charset=GB2312" %> <%@ page errorPage="error.jsp" %>
include指令:在JSP页面中嵌入其他文件。
格式:<%@ include file="相对位置" %>
注意:<%@ include%>指令和<jsp:include>动作标签有什么区别?
<%@ include file="copyright.html" %>
2.Java脚本:
声明:JSP页面中数据和方法的声明(全局变量)。格式:<%! 声明的变量或方法; %>
声明变量和方法也可以在脚本代码片段中(局部变量),但两者是有区别的。
表达式:用于在页面上输出信息。格式:<%= 表达式 %>。(无分号)
脚本代码片段:JSP页面的脚本代码必须写在<% 代码%>区域里。
3.动作组件:是一些XML语法格式的标记,被用来控制Web容器的行为。
常见的JSP动作组件共有以下几种:
<jsp:include>:在页面被请求的时候引入一个文件。
< jsp:param>:在动作组件中引入参数信息。
< jsp:forward>:把请求转到一个新的页面。
< jsp:useBean>:寻找或者实例化一个JavaBean。
< jsp:setProperty>:设置JavaBean的属性。
< jsp:getProperty>:输出某个JavaBean的属性。
include动作组件:
注意:include动作组件和include指令元素有很大的不同。 include动作组件在执行时才对包含的文件进行处理,因此JSP页面和它所包含的文件在逻辑上和语法上是独立的,如果对包含的文件进行了修改,那么运行时可以看到所包含文件修改后的结果。而静态的include指令包含的文件如果发生变化,必须重新将JSP页面转译成java文件,否则只能看到所包含的修改前的文件内容。
forward动作组件:
向至另一个HTML网页或JSP网页,客户端看到的地址是A页面的地址,而实际内容却是B页面的内容。其语法如下:
<jsp:forword page= “网页名称”>
param动作组件:
<jsp:param>用于传递参数信息,必须配合< jsp:include>或< jsp:forward>动作组件一起使用。语法如下:
< jsp:param name=参数名称 ,value=值 />
当该组件与<jsp:include>一起使用时,可以将param组件中的值传递到include动作组件要加载的文件中去。
<jsp:forward page="welcome.jsp"> <jsp:param name="name" value="John" /> </jsp:forward>
等同于welcome.jsp?name="John"
userBean动作组件:用于创建对象实例。
格式:<jsp:userBean id = "对象名字" scope="作用域">
作用域有page(整个页面)、request、session(整个会话生命周期)、application等