Download presentation
Presentation is loading. Please wait.
1
专题4:JSP脚本和指令
2
案例名称 JSP脚本和指令
3
教学目标 掌握JSP声明 掌握JSP脚本元素 灵活应用JSP指令
4
工作任务 完成用户登录功能,如果用户输入用户名:handson;密码:handson,则表示用户为合法用户,且显示登录成功或登录信息。
5
新建工程和login.jsp页面 新建Login工程。 新建和编写login.jsp页面:
page contentType = "text/html; charset = gb2312“ language = "java"%> <form action = "login_check.jsp" method = "post"> <input type = "text" name = "username"> <input type = "password" name = "userpassword"> <input type = "submit" value = "登录"> <input type = "reset" value = "重置"> </form>
6
编写login_check.jsp页面1 得到用户名和密码 <%
String name = request.getParameter("username"); String password = request.getParameter("userpassword"); %>
7
编写login_check.jsp页面2 验证用户名和密码,成功则转向登录成功页面,否则转向失败页面
if(name.equals("handson")&& password.equals("handson")){ file = "login_success.jsp" %> } else{ file = "login_failure.jsp" %> }
8
编写登录成功页面 新建和编写login_success.jsp页面 <%@page contentType = "text/html;
charset = gb2312" language="java"%> <h6> <font color = "red" size = "5"> 登录成功,欢迎您光临!!! </font> </h6>
9
编写登录失败页面 新建和编写login_failure.jsp页面
page contentType = "text/html; charset = gb2312" language = "java"%> <h6> <font color = "red" size = "5"> 登录失败!错误的用户名和密码 </font> </h6> <a href = "login.jsp">重新登录</a>
10
总结 掌握JSP声明 掌握JSP脚本元素 灵活应用JSP指令 在案例中学会灵活应用上述知识点
11
介绍JSP 声明1 在JSP程序中,如果要使用一个变量或引用一个对象的方法和属性,必须对要使用的变量或方法和属性进行声明。 语法格式:
<%! Declaration;[ Declaration;]+...%>
12
介绍JSP 声明2 可以声明多个变量或方法和属性 要在每个声明后都要用分号做为结尾
JSP声明并不产生输出,通常将其与JSP表达式和JSP脚本结合使用
13
介绍JSP 声明3 请看示例: <%! int i = 0 ; int j = 0;
Double d = new Double(1.2); public String e(int j) { if(j<10) { return (“j<10”); }else { return (“j>=10”); } %>
14
注意 声明要用分号做为结尾。 page %>中直接使用所包含进来的已经声明的变量和方法,不须重新声明。
15
介绍JSP脚本元素1 JSP页面中包含符合Java标准语法的有效的程序片断 语法格式: <% code fragment %>
16
介绍JSP脚本元素2 “<%”和“%>”是JSP脚本代码标志
JSP脚本代码由服务器负责把它转化成对应的Servlet的Service方法。 JSP脚本能够包含多个JSP语句、方法、变量、表达式、它可访问诸如:request、response、out、session、application、exception、config和pageContext等JSP对象,利用这些可以在JSP页面内实现较复杂的逻辑功能。
17
示例1 请看示例 1 <body> <%! int a = 0; %> <% int b = 0; a++;
<h3> 显示a的值:<%= a %> <br> 显示b的值:<%= b %> </h3> </body>
18
示例2 请看示例2 <% for (int i=0;i<=10;i++) { %> <p> 依次显示i的值为:
out.println(i); </p> }
19
介绍JSP指令1 JSP指令用来设置全局变量、声明类、要实现的方法和输出内容的类型等,它不直接产生可见的输出。
directive attribute1="value1" attribute2="value2" ... attributeN="valueN" %>
20
介绍JSP指令2 JSP指令包含以下三种: 指令名称 作用 page指令 定义JSP的全局属性 include指令
主要用于将某文件包含到本网页中 taglib指令 定义一个标签库以及其自定义标签的前缀
21
<%@page attribute1 = "value1" attribute2 = "value2"...%>
page指令主要功能是定义JSP的全局属性,即可对JSP网页的属性和相关功能进行设定 attribute1 = "value1" attribute2 = "value2"...%>
22
介绍page指令2
23
page指令属性总结1 在page指令中包含多个属性,如下表1所示: 属性名称 作用 Import=”importList”
用于指定导入哪些包或类,这些包作用于程序段、表达式以及声明 language = "javaScriptLanuage" 指定JSP容器用什么语言来编译JSP页面,默认为Java语言 contentType="MIME-Type" 或contentType="MIME-Type; charset=CHARSET" 该属性指定输出的MIME类型和网页的编码方式,默认值是text/html,默认字符集为ISO session="true|false" 决定JSP网页是否使用session对象,默认值为true extends ="ClassName" 指定此JSP编译时需要继承哪一个Java父类 buffer="none|size kb" 指定客户端输出流的缓冲模式,none则不缓冲,如果指定数值,输出就用不小于这个值的缓冲区进行缓冲,但不小于8KB
24
page指令属性总结2 在page指令中包含多个属性,如下表2所示: 属性名称 作用 autoFlush="true|false"
info = "text" 表示此JSP网页的相关信息 isThreadSafe ="true|false" 表示此JSP是否能同时处理多个用户请求,若为false,表示一个JSP只能一次处理一个请求 errorPage = "error_url" 表示如果发生异常错误时,网页会被重新指向一个错误页面URL isErrorPage ="true|false" 表示此JSP页面是否可作为其它JSP页面异常处理页面,默认值为false pageEncoding ="ctinfo" 表示JSP网页的编码方式 isELlgnored ="true|false" 表示此JSP网页是否忽略EL表达式,true将忽视
25
示例 <%@page contentType = “text/html;
charset = gb2312" language = "java"%> import = "java.util.*,java.lang.*"%> buffer = "5kb" autoFlush="false"%> errorPage = "error.jsp"%> info = "Hello World!!!"%> session="true"%>
26
include指令 include指令在编译时用于将一个包含文本或代码的文件插入到当前JSP页面中,这个插入的过程是静态的,且该文件可以是JSP文件、HTML文件、文本文件或一段Java代码。 <% if(name.equals("handson")&&password.equals("handson")){ %> file="login_success.jsp" %> }
27
介绍taglib指令 taglib指令能够让用户使用第三方的标签,即指令声明此JSP文件可使用自定义的标签,使用Taglib指令需要指明标签库的uri标签描述符,也指定了引用这个标签的前缀。 taglib uri = "URIToTagLibrary" prefix = "tagPrefix" %>
28
指令属性 uri属性,标签描述符,告诉容器怎么找到标签描述文件和标签库 prefix属性,引用自定义标签的前缀
contentType="text/html; charset=gb2312" language="java"%> uri = " prefix = "pub" %> <pub:forEach> ... </pub:forEach>
Similar presentations