一个JSP页面是通过在HTML标签的基础上潜入JSP动作和指令、CSS、Java变量和方法(java代码段)、其他脚本元素等组成的。
<%@page countentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html";charset=UTF-8">
<title>JSP页面基础结构实例title>
head>
<body>
<%! int sum=0;
int x=1;
%>
<%
while(x<=10)
{
sum+=x;
++x;
}
%>
<p>1加到10的结果是:<%=sum%>p>
<p>现在的时间是:<%=new java.util.Date()%>p>
body>
html>
1.**隐藏注释**:<%--注释语句--%>
在发布JSP网页时完全被忽略,也不会输送到客户浏览器上,即JSP页面运行后页面上看不到注释内容,而且源文件中也看不到注释内容。
2.**java注释**:<%/*注释语句*/%>或<%//注释内容%>
java注释和隐藏注释类似,在发布网页时不会在页面上显示,在浏览器的源文件中也不会看到注释内容。
3.**HTML注释**:``
在发布网页时可以在浏览器源文件窗口中看到HTML注释,即注释的内容会被输送到客户端浏览器中。
page指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用于为它所在的JSP页面和其包含的文件。一般位于JSP页面的顶端。
<%@page
[language="java"]
/*
用于指定JSP页面中使用的脚本语言,默认值是Java。目前只能使用Java
*/
[extends="package.class"]
/*
用于指定JSP编译器父类的完整限定名,此JSP页面产生的Servlet将由该父类扩展而来。
*/
[import="{package.class|package.*},..."]
/*
用于导入JSP页面使用的JavaAPI类库。
*/
[session="true|false"]
/*
用于指定是否可以使用session对象,若允许页面参与HTTP会话,就设置true,默认值为true.
*/
[buffer="none|8kb|sizeKb"]
/*
用于设置页面的缓冲区大小(字节数),属性值为none时表示禁止缓冲区,其默认值为8KB.
*/
[autoFlush="true|false"]
/*
用于指定JSP页面缓冲区是否自动刷新输出,其默认值为true.
为true时,页面缓冲区满时自动刷新输出,否则当页面缓冲区满时抛出一个异常。
*/
[isThreadSafe="true|false"]
/*
用于指定JSP页面是否能够处理一个以上的请求,如果为true,则该页面可能同时收到JSP引擎发出的多个请求;反之,JSP引擎会对收到的请求进行排队,当前页面在同一时刻只能处理一个请求。默认值为true.
*/
[info="text"]
/*用于指定JSP页面的相关信息文本,无默认值*/
[errorPage="relatiuveURL"]
/*
用于指定错误页面。当页面出现一个没有被捕获的异常时,错误信息将被throw语句抛出。
*/
[contentType="mimeType[;charset=chrarcterSet]"]
/*
用于指定内容MIME类型和JSP页面的编码方式,对于普通的JSP页面,默认的contentType属性值为"text/html;charset=ISO-8859-1"
*/
[pageEncoding="pageEncoding"]
/*
用于指定JSP页面的编码方式,默认值为ISO-8859-1,为支持中文可设置为UTF-8.
*/
[isErrorPage="true|false"]
%>
include指令用于在当前JSP页面中加载需要插入的文件代码,即为页面插入一个静态文件,如JSP页面,HTML页面、文本文件或者一段Java程序。
<%@include file="文件名"%>
taglib指令用于指定页面中的标签库以及自定义标签的前缀
<%@taglib uri="tagLibraryURI"prefix="tagPrefix"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
动作可以用于
动作体中,为其他动作传送一个或者多个参数。
param name="参数名" value="参数值"/>
<jsp:include page="文件名" flush="true">
<jsp:param name="参数名" value="参数值"/>
jsp:include>
动作和include指令之间的不同在于它们被调用的时间。
前者在页面请求期间被激活,而include指令在页面转换期间被激活。
JavaBean开发简单,许多动态页面处理过程实际上被封装到JavaBean当中,可以将大部分功能放在JavaBean中完成。JavaBean在Java Web项目中用来捕获页面表单的输入并封装事务逻辑,从而很好地实现业务逻辑和页面的分离,使得系统更加健壮、灵活和易于维护。
JavaBean定义(声明)应遵循的规范
1.必须有一个无参的构造函数
2.对在Bean中定义的属性提供getter和setter方法,并且这些方法为公共的。
3.对于boolean类型的属性,其getter方法的形式为isXxx的,其中Xxx为首字母大写的属性名
4.对于数组类型的属性,要提供形式为getXxx和setXxx的方法。
3.
动作
相当于在JSP页面中声明一个javaBean类的对象,并且予以调用。
<jsp:useBean id="Bean实例名称" scope="page|request|session|application"
class="JavaBean类" type="对象变量的类型" beanName="Bean名字"/>
<jsp:useBean id="time" type="java.io.Serializable" beanName="java.util.Date"/>
动作用来设置、修改已实例化的Bean中的属性值。相当于调用Bean对象中的setter方法。
<jsp:setProperty name="Bean的名称" property="*"|property="属性" [param="属性"|value="值"]/>
动作获取指定的Bean属性值并转换成字符串输出。相当于调用Bean对象的getter方法。
name="Bean的名称" property="Bean的属性"/>
4.
动作
用于转发客户端的请求到另一个页面或者另一个Servlet文件中去。
<jsp:forward page="地址或者页面"/>
<jsp:forward page="success.jsp">
<jsp:param name="userName" value="<%=name%>"/>
jsp:forward>