jsp程序设计期末复习整理Word格式.docx
- 文档编号:21297798
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:43
- 大小:9.22MB
jsp程序设计期末复习整理Word格式.docx
《jsp程序设计期末复习整理Word格式.docx》由会员分享,可在线阅读,更多相关《jsp程序设计期末复习整理Word格式.docx(43页珍藏版)》请在冰豆网上搜索。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。
)
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame
JSP动态网页技术优势
业务逻辑和显示分离
多平台支持及高可移植性
开发便利
安全
较高的效率与性能
较低的开发和运营成本
使用JSP进行开发,需要具备以下的运行环境:
Web浏览器
JDK开发工具包
数据库
Web服务器
第二章JSP页面
JSP页面可由5种元素组合而成:
①普通的HTML标记符;
②JSP标记,如指令标记、动作标记;
③变量和方法的声明;
④Java程序片;
⑤Java表达式;
JSP页面的运行原理:
把JSP页面中普通的HTML标记符号,交给客户的浏览器执行显示。
JSP标记、数据和方法声明、Java程序片由Tomcat服务器负责执行,将需要显示的结果发送给客户的浏览器。
Java表达式由Tomcat服务器负责计算,将结果转化为字符串,交给客户的浏览器负责显示。
1.在JSP页面的标记符
“<
%!
”和“%>
”有效范围和标识符的位置无关
之间声明的变量称作JSP页面的成员变量(变量类型可以是java允许的任何数据类型)。
之间声明方法。
该方法在整个JSP页面有效
“<
%=”和“%>
”之间可以是一个Java表达式。
表达式的值由服务器负责计算,并将计算结果用字符串形式发送到客户端显示
1.HTML注释格式:
<
!
--注释内容-->
2.JSP注释格式:
%--注释内容--%>
定义JSP页面使用的脚本语言,该属性的值目前只能取"
java"
。
例如:
%@pagelanguage="
%>
注:
JSP页面默认有如上page指令。
Import引入Java运行环境提供的包中的类
<
%@pageimport="
java.io.*"
"
java.util.Date"
JSP页面默认import属性已经有“java.lang.*”、“javax.servlet.*”等值。
contentType属性值确定JSP页面响应的MIME(MultipurposeInternetMailExtention)类型和JSP页面字符的编码。
%@pagecontentType="
text/html;
charset=GB2312"
application/msword"
不允许两次使用page指令给contentType属性指定不同的属性值.
session属性
用于设置是否需要使用内置的session对象。
session的属性值可以是true或false。
session属性默认的属性值是true。
buffer属性
buffer属性用来指定out设置的缓冲区的大小或不使用缓冲区。
%@pagebuffer=“24kb”%>
buffer属性的默认值是8kb。
buffer属性可以取值“none”,设置out不使用缓冲区。
autoFlush属性:
指定out的缓冲区被填满时,缓冲区是否自动刷新。
注:
autoFlush属性的默认值是true。
isThreadSafe属性:
用来设置JSP页面是否可多线程访问。
isThreadSafe属性的默认值是true。
info属性
的属性值是一个字符串,其目的是为JSP页面准备一个常用且可能需要经常修改的字符串
例如:
%@pageinfo=“wearestudents”%>
可以在JSP页面中使用方法:
getServletInfo();
获取info属性的属性值。
%pagecontentType=”text/html;
charset=gb2312”%>
html>
body>
%@includefile=”hello.txt”%>
/body>
/html>
include动作标记
语法格式:
jsp:
includepage="
文件的URL"
/>
或
>
param子标记
/jsp:
include>
include动作标记告诉JSP页面动态加载一个文件。
include动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前JSP页面。
param动作标记forward动作标记plugin动作标记useBean动作标记
第三章
第四章内置对象
内置对象有:
resquest、response、session、out、application
request对象可以获取用户提交的信息。
request对象获取用户提交信息的最常用的方法是getParameter(Strings).
一般格式是:
FORMmethod=get|postaction="
提交信息的目的地页面"
提交手段
/FORM>
例如用户提交信息表单:
FORMaction="
tom.jsp"
method=post>
INPUTtype="
text"
name="
boy"
value="
ok"
>
INPUTTYPE="
submit"
送出"
tom.jsp页面可以使用内置request对象获得用户提交的信息
request.getParameter("
);
当用request对象获取用户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊的处理
Stringstr=request.getParameter("
girl"
byteb[]=str.getBytes("
ISO-8859-1"
str=newString(b);
getProtocol():
获取请求使用的通信协议,如http/1.1等。
getServletPath():
获取请求的JSP页面所在的目录。
getContentLength():
获取HTTP请求的长度。
getMethod():
获取表单提交信息的方式,如POST或GET。
getHeader(Strings):
获取请求中头的值。
getHeaderNames():
获取头名字的一个枚举。
getHeaders(Strings):
获取头的全部值的一个枚举。
getRemoteAddr():
获取客户的IP地址。
getRemoteHost():
获取客户机的名称(如果获取不到,就获取IP地址).
getServerName():
获取服务器的名称。
getServerPort():
获取服务器的端口号。
getParameterNames():
获取表单提交的信息体部分中name参数值的一个枚举.
HTML是HypertextMarkedLanguage的缩写,即超文本标记语言。
Inputtype="
输入对象的GUI类型"
名字"
服务器通过属性name指定的名字来获取“输入对象的GUI类型”中提交的数据。
“输入对象的GUI类型”可以是:
text(文本框)、checkbox(检查框)、submit(提交键)等。
文本框text:
me"
hi"
size="
9"
align="
left"
maxlength="
30"
单选框radio:
radio"
rad"
red"
align="
top"
checked="
复选框checkbox:
checkbox"
ch"
pink"
口令框password:
password"
size="
12"
隐藏hidden:
hidden"
h"
123"
提交键submit:
确定"
重置键:
reset:
reset"
处理HTML标记_<
Select>
、<
Option>
格式
1)下拉列表
Selectname="
shulie"
Optionvalue="
cat"
你选了小猫
dog"
你选了小狗
…
/Select>
(2)滚动列表:
在Select中指定size属性的值就变成滚动列表,size的值是滚动列表的可见行的个数。
size=2>
1"
计算1到n的连续和
2"
计算1到n的平方和
TextArea>
标记在表单中指定一个能输入多行文本的文本区域。
基本格式为:
TextAreaname="
ilovethisgame"
Rows="
4"
Cols="
20"
/TextArea>
表格由<
table>
/table>
标记定义。
一般格式:
trwidth="
该行的宽度"
thwidth="
单元格的宽度"
单元格中的数据<
/th>
tdwidth="
/td>
/tr>
其中<
tr>
…<
定义表格的一个行,<
th>
或<
td>
标记定义这一行中的表格单元,二者的区别是:
定义的单元加重显示,<
称做普通单元,不加重显示。
一行中的加重单元和普通单元可以交替出现,也可以全是加重单元或普通单元。
tableborder=1>
中增加选项border可指明该表格是否带有边框。
使用<
img>
iamge>
标记都可以显示一副图象,标记的基本格式为
imgsrc="
图像文件的URL"
描述文字<
/img>
imagesrc="
/image>
播放音乐和视频
embedsrc="
音乐或视频文件的URL"
/embed>
embed>
标记中经常使用的属性及取值如下:
autostart属性的值用来指定音乐或视频文件传送完毕后是否立刻播放,autostart取值“true”或“false”,该属性的默认值是false。
loop属性的取值为正整数,该属性的值用来指定音乐或视频文件重复播放的次数。
动态响应contentType属性
由于page指令只能为contentType属性指定一个值来决定响应的MIME类型。
如果想动态地改变这个属性的值来响应用户,就需要使用response对象的setContentType(Strings)方法来改变contentType的属性值。
publicvoidsetContentType(Strings)方法动态设置响应的MIME类型,参数s可取:
text/html、text/plain、image/gif、image/x-xbitmap、
image/jpeg、image/pjpeg、application/x-shockwave-flash、
application/vnd.ms-powerpoint、application/vnd.ms-excel、
application/msword。
response对象可以使用方法:
addHeader(Stringhead,Stringvalue);
或使用方法:
setHeader(Stringhead,Stringvalue);
动态添加新的响应头和头的值,并将这些头发送给用户的浏览器。
如果添加的头已经存在,则先前的头被覆盖。
例4-12
用户的重定向。
在某些情况下,JSP引擎在响应用户时,可能需要将用户重新引导至另一个页面。
例如,如果用户输入的表单信息不完整,就会再次被引导到该表单的输入页面。
使用response对象的sendRedirect(URLurl)方法实现用户的重定向。
response的状态行
当JSP引擎对用户请求进行响应时,它发送的首行称做状态行。
状态行包括3位数字的状态代码和对状态代码的描述(称做原因短语)。
session对象
内置session(会话)对象记录有关连接的信息.由Tomcat服务器负责创建。
当一个用户首次访问Web服务目录中的某个JSP页面时,JSP引擎为其产生一个session对象。
为用户产生的session对象调用相应的方法可以存储用户在访问各个页面期间提交的各种信息
session对象与URL重写
如果用户端不支持Cookie,那么用户在不同网页之间的session对象可能是互不相同的,因为如果服务器无法将Id存放到用户端,就不能建立session对象和用户的一一对应关系。
可以通过URL重写来实现session对象的惟一性。
所谓URL重写,就是当用户从一个页面重新链接到另一个页面时,通过向这个新的URL添加参数,把session对象的Id传带过去,这样就可以保障用户在该网站各个页面中的session对象是完全相同的。
可以使用response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写.
例4-19中,session对象使用setMaxInactiveInterval(intinterval)方法设置最长的“发呆”状态时间为10秒。
用户可以通过刷新页面检查是否达到了最长的“发呆”时间,如果两次刷新之间的间隔超过10秒,用户先前的session将被取消,用户将获得一个新的session对象。
使用session设置时间间隔例4-20
out对象
out对象是一个输出流,用来向用户端输出数据。
out对象可调用如下的方法用于各种数据的输出,
⏹out.print(Boolean),out.println(Boolean)用于输出一个布尔值。
⏹out.print(char),out.println(char)输出一个字符。
⏹out.print(double),out.println(double)输出一个双精度的浮点数。
⏹out.print(float),out.println(float)用于输出一个单精度的浮点数。
⏹out.print(long),out.println(long)输出一个长整型数据。
⏹out.print(String),out.println(String)输出一个字符串对象的内容。
⏹out.newLine()输出一个换行符。
⏹out.flush()输出缓冲区里的内容。
⏹out.close()关闭流。
application对象
任何客户在所访问的服务目录的各个页面浏览时,application对象都是同一个.
application对象的常用方法
(1)publicvoidsetAttribute(Stringkey,Objectobj)
application对象可以调用该方法将参数Object指定的对象obj添加到application对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加对象被清除。
(2)publicObjectgetAttibue(Stringkey)
获取application对象含有的关键字是key的对象。
由于任何对象都可以添加到application对象中,因此用该方法取回对象时,应强制转化为原来的类型。
(3)publicEnumerationgetAttributeNames()
application对象调用该方法产生一个枚举对象,该枚举对象使用nextElemets()遍历application中的各个对象所对应的关键字。
(4)publicvoidremoveAttribue(Stringkey)
从当前application对象中删除关键字是key的对象。
(5)publicStringgetServletInfo()
application对象可以调用该方法获取Servlet编译器的当前版本的信息。
第五章JSP中的文件操作
JSP通过Java的输入输出流来实现文件的读写操作
File构造方法
⏹File(Stringfilename);
⏹File(StringdirectoryPath,Stringfilename);
⏹File(Filef,Stringfilename);
1.创建目录
publicbooleanmkdir()
File对象调用方法创建一个目录,如果创建成功就返回true,否则返回false。
2.列出目录中的文件(如果File对象是一个目录)
publicString[]list()用字符串形式返回目录下的全部文件。
publicFile[]listFiles()用File对象形式返回目录下的全部文件。
3.列出指定类型的文件
publicString[]list(FilenameFilterobj)
该方法用字符串形式返回目录下的指定类型的所有文件。
publicFile[]listFiles(FilenameFilterobj)
该方法用File对象返回目录下的指定类型的所有文件。
File对象调用方法
publicbooleandelete();
可以删除当前对象代表的文件或目录。
如果File对象表示的是一个目录,则该目录必须是一个空目录,删除成功将返回true
使用字节流读写文件
java.io包提供大量的流类。
称InputStream类及其子类对象为字节输入流类,称OutputStream类及其子类对象为字节输出流。
InputStream类的常用方法:
●intread()输入流调用该方法从源中读取单个字节的数据,该方法返回字节值(0~255之间的一个整数)。
如果未读出字节就返回-1。
●intread(byteb[])输入流调用该方法从源中试图读取b.length个字节到字节数组b中,返回实际读取的字节数目。
如果到达文件的末尾,则返回-1。
●intread(byteb[],intoff,intlen)输入流调用该方法从源中试图读取len个字节到字节数组b中,并返回实际读取的字节数目。
参数off指定从字节数组的某个位置开始存放读取的数据。
●voidclose()输入流调用该方法关闭输入流。
●longskip(longnumBytes)输入流调用该方法跳过numBytes个字节,并返回实际跳过的字节数目。
OutputStream类的常用方法:
●voidwrite(intn)输出流调用该方法向输出流写入单个字节。
●voidwrite(byteb[])输出流调用该方法向输出流写入一个字节数组。
●voidwrite(byteb[],intoff,intlen)从给定字节数组中起始于偏移量off处取len个字节写入到输出流。
●voidclose()关闭输出流。
输入、输出流示意图
⏹FileInputStream类是InputStream的子类。
构造方法:
FileInputStream(Stringname)
FileInputS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 程序设计 期末 复习 整理