jsp程序设计期末复习 .doc

上传人:yy****2 文档编号:97463636 上传时间:2024-06-13 格式:DOC 页数:37 大小:11.16MB
返回 下载 相关 举报
jsp程序设计期末复习 .doc_第1页
第1页 / 共37页
jsp程序设计期末复习 .doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《jsp程序设计期末复习 .doc》由会员分享,可在线阅读,更多相关《jsp程序设计期末复习 .doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 一章 什么是JSP什么是JSPJSP(Java Server Pages)是基于Java 语言的一种Web应用开发技术。利用这一技术可以建立安全、跨平台、易维护的Web 应用程序ss网络应用中最常见的模式是B/S模式 (Browser / Sever即浏览器/服务器)B/S模式中即需要获取信息的用户使用浏览器向服务器发出请求,服务器对此做出响应,将有关信息发送给用户的浏览器基于B/S模式的网络程序的核心就是设计服务器端的Web应用程序。JSP引擎与Tomcat服务器JSP的核心内容之一就是编写JSP页面,JSP页面是Web应用程序的重要组成部分之一。简单Web应用程序可能只有一个JSP页面

2、。复杂的Web应用程序可能由许多JSP页面、Javabean和servlet组成。当用户请求Web服务器上的JSP页面时,JSP引擎负责运行JSP,并将运行结果返回给用户。2apache-tomcat-8.0.3.exe的安装 apache-tomcat-8.0.3.exe文件是针对MS-Window的Tomcat服务器,安装后形成的目录结构和apache-tomcat-8.0.3.zip安装的基本相同。 单击下载的apache-tomcat-8.0.3.exe,将出现“安装向导”界面,单击其中的Next按钮,接受授权协议后,将出现选择“安装方式”的界面。在“安装方式”界面中选择Norma、M

3、inimun、Custom和Full之一,然后按着安装向导的提示进行安装即可。网页浏览过程打开浏览器-输入网址-打开网页-浏览器是 网页浏览的工具-输入网址是向网站服务器发出请求-打开网页是接收服务器发送的网页静态网页与动态网页网页分为静态网页和动态网页,动态与静态是相对的静态网页:静态网页是事先做好并存放于服务器中的文件,无论是否被访问,都是一个独立存在的文件;静态网页使用语言:HTML(超文本标记语言);静态网站没有数据库的支持,在网站制作和维护方面工作量较大;由于不需通过数据库工作,访问速度比较快;静态网页的交互性差动态网页:动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请

4、求时服务器才返回一个完整的网页;动态网页以数据库技术为基础,降低网站维护的工作量;动态网页技术分为客户端和服务器端常见动态网页技术:JSP,PHP,ASP(.net)ASPActive Server Page JSPJavaServer Pages(一种动态网页技术标准。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。)Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,

5、这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无FrameJSP动态网页技术优势业务逻辑和显示分离多平台支持及高可移植性开发便利安全较高的效率与性能较低的开发和运营成本使用JSP进行开发,需要具备以下的运行环境:Web浏览器JDK开发工具包数据库Web服务器第 二章 JSP页面JSP页面可由5种元素组合而成: 普通的HTML标记符; JSP标记,如指令标记、动作标记; 变量和方法的声明; Java程序片; Java表达式 ;JSP页面的运行原理:把

6、JSP页面中普通的HTML标记符号,交给客户的浏览器执行显示。 JSP标记、数据和方法声明、Java程序片由Tomcat服务器负责执行,将需要显示的结果发送给客户的浏览器。 Java表达式由Tomcat服务器负责计算,将结果转化为字符串,交给客户的浏览器负责显示。1.在JSP页面的标记符 “ ” 有效范围和标识符的位置无关 之间声明的变量称作JSP页面的成员变量(变量类型可以是java允许的任何数据类型)。 之间声明方法 。该方法在整个JSP页面有效“”之间可以是一个Java表达式 。表达式的值由服务器负责计算,并将计算结果用字符串形式发送到客户端显示1. HTML注释格式: 2. JSP注释

7、格式: 定义JSP页面使用的脚本语言,该属性的值目前只能取java。例如: 注:JSP页面默认有如上page指令 。Import 引入Java运行环境提供的包中的类例如:注:JSP页面默认import属性已经有“.*”、“et.*” 等值。contentType 属性值确定JSP页面响应的MIME(Multipurpose Internet Mail Extention)类型和JSP页面字符的编码。例如: 注:不允许两次使用page 指令给contentType属性指定不同的属性值 .session属性用于设置是否需要使用内置的session对象。session的属性值可以是true或fals

8、e。session属性默认的属性值是true。buffer属性buffer属性用来指定out设置的缓冲区的大小或不使用缓冲区。buffer属性的默认值是8kb 。buffer属性可以取值“none”,设置out不使用缓冲区。autoFlush属性: 指定out的缓冲区被填满时,缓冲区是否自动刷新。 注: autoFlush属性的默认值是true。isThreadSafe属性: 用来设置JSP页面是否可多线程访问。 注: isThreadSafe属性的默认值是true。 info属性的属性值是一个字符串,其目的是为JSP页面准备一个常用且可能需要经常修改的字符串例如: 注:可以在JSP页面中使用

9、方法: getServletInfo(); 获取info属性的属性值。 include 动作标记语法格式: 或 param子标记 include动作标记告诉JSP页面动态加载一个文件。 注: include 动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前JSP页面。param动作标记 forward动作标记 plugin动作标记 useBean动作标记第 三章第 四章 内置对象内置对象有:resquest、response、session、out 、 applicationrequest对象可以获取用户提交的信息。request对象获取用户提交信息的最常用的方法是

10、getParameter(String s).一般格式是: 提交手段 例如用户提交信息表单: 页面可以使用内置request对象获得用户提交的信息 rameter(boy); 当用request对象获取用户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊的处理String str=rameter(girl); byte b=tes(ISO-8859-1); str=new String(b);getProtocol():获取请求使用的通信协议,如http/1.1等。getServletPath():获取请求的JSP页面所在的目录。getContentLength():获取

11、HTTP请求的长度。getMethod():获取表单提交信息的方式,如POST或GET。getHeader(String s):获取请求中头的值。getHeaderNames():获取头名字的一个枚举。getHeaders(String s):获取头的全部值的一个枚举。getRemoteAddr():获取客户的IP地址。getRemoteHost():获取客户机的名称(如果获取不到,就获取IP地址).getServerName():获取服务器的名称。getServerPort():获取服务器的端口号。getParameterNames():获取表单提交的信息体部分中name参数值的一个枚举.

12、HTML是Hypertext Marked Language的缩写,即超文本标记语言。 服务器通过属性name指定的名字来获取“输入对象的GUI类型”中提交的数据。“输入对象的GUI类型”可以是:text(文本框)、checkbox(检查框)、submit(提交键)等。文本框text: 单选框radio: 复选框checkbox : 口令框password:隐藏hidden: 提交键submit: 重置键:reset:处理HTML标记_、格式1)下拉列表 你选了小猫 你选了小狗 (2)滚动列表:在Select中指定size属性的值就变成滚动列表,size的值是滚动列表的可见行的个数。 计算1到

13、n的连续和 计算1到n的平方和 标记在表单中指定一个能输入多行文本的文本区域。基本格式为: 表格由、标记定义。一般格式: 单元格中的数据 单元格中的数据 其中 定义表格的一个行,或标记定义这一行中的表格单元,二者的区别是:定义的单元加重显示,称做普通单元,不加重显示。一行中的加重单元和普通单元可以交替出现,也可以全是加重单元或普通单元。中增加选项border可指明该表格是否带有边框。使用或标记都可以显示一副图象,标记的基本格式为 描述文字描述文字 播放音乐和视频描述文字标记中经常使用的属性及取值如下:autostart属性的值用来指定音乐或视频文件传送完毕后是否立刻播放, autostart取

14、值 “true”或“false”,该属性的默认值是false。loop属性的取值为正整数,该属性的值用来指定音乐或视频文件重复播放的次数。动态响应contentType属性 由于page指令只能为contentType属性指定一个值来决定响应的MIME类型。 如果想动态地改变这个属性的值来响应用户,就需要使用response对象的setContentType(String s)方法来改变contentType的属性值。 public void setContentType(String s)方法动态设置响应的MIME类型,参数s可取: text/html、text/plain、image/gi

15、f、image/x-xbitmap、 image/jpeg、image/pjpeg、application/x-shockwave-flash、 application/-powerpoint、 application/-excel、 application/msword。 response对象可以使用方法: addHeader(String head,String value);或使用方法: setHeader(String head ,String value);动态添加新的响应头和头的值,并将这些头发送给用户的浏览器。如果添加的头已经存在,则先前的头被覆盖。 例4-12用户的重定向。在某

16、些情况下,JSP引擎在响应用户时,可能需要将用户重新引导至另一个页面。例如,如果用户输入的表单信息不完整,就会再次被引导到该表单的输入页面。使用response对象的sendRedirect(URL url)方法实现用户的重定向。response的状态行当JSP引擎对用户请求进行响应时,它发送的首行称做状态行。 状态行包括3位数字的状态代码和对状态代码的描述(称做原因短语)。session对象内置session(会话)对象记录有关连接的信息.由Tomcat服务器负责创建。当一个用户首次访问Web服务目录中的某个JSP页面时,JSP引擎为其产生一个session对象。为用户产生的session对

17、象调用相应的方法可以存储用户在访问各个页面期间提交的各种信息session对象与URL重写 如果用户端不支持Cookie,那么用户在不同网页之间的session对象可能是互不相同的,因为如果服务器无法将Id存放到用户端,就不能建立session对象和用户的一一对应关系。 可以通过URL重写来实现session对象的惟一性。所谓URL重写,就是当用户从一个页面重新链接到另一个页面时,通过向这个新的URL添加参数,把session对象的Id传带过去,这样就可以保障用户在该网站各个页面中的session对象是完全相同的。可以使用response对象调用encodeURL()或encodeRedire

18、ctURL()方法实现URL重写.例4-19中,session对象使用setMaxInactiveInterval(int interval)方法设置最长的“发呆”状态时间为10秒。用户可以通过刷新页面检查是否达到了最长的“发呆”时间,如果两次刷新之间的间隔超过10秒,用户先前的session将被取消,用户将获得一个新的session对象。使用session设置时间间隔 例4-20out对象 out对象是一个输出流,用来向用户端输出数据。 out对象可调用如下的方法用于各种数据的输出,n (Boolean),ln(Boolean) 用于输出一个布尔值。n (char),ln(char)输出一个

19、字符。n (double),ln(double) 输出一个双精度的浮点数。n (float),ln(float) 用于输出一个单精度的浮点数。n (long),ln(long)输出一个长整型数据。n (String),ln(String) 输出一个字符串对象的内容。n ne()输出一个换行符。n () 输出缓冲区里的内容。n () 关闭流。 application对象 任何客户在所访问的服务目录的各个页面浏览时,application对象都是同一个.application对象的常用方法(1)public void setAttribute(String key, Object obj) app

20、lication对象可以调用该方法将参数Object指定的对象 obj添加到application对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加对象被清除。(2)public Object getAttibue(String key) 获取application对象含有的关键字是key的对象。由于任何对象都可以添加到application对象中,因此用该方法取回对象时,应强制转化为原来的类型。(3)public Enumeration getAttributeNames() application对象调用该方法产生一个枚举对象,该枚举对象使用nextEl

21、emets()遍历application中的各个对象所对应的关键字。(4)public void removeAttribue(String key) 从当前application对象中删除关键字是key的对象。 (5)public String getServletInfo() application对象可以调用该方法获取Servlet编译器的当前版本的信息。 第 五章 JSP中的文件操作JSP通过Java的输入输出流来实现文件的读写操作File构造方法n File(String filename);n File(String directoryPath,String filename);n

22、 File(File f, String filename); 1创建目录 public boolean mkdir() File对象调用方法创建一个目录,如果创建成功就返回true,否则返回false。 2列出目录中的文件(如果File对象是一个目录) public String list() 用字符串形式返回目录下的全部文件。 public File listFiles() 用File对象形式返回目录下的全部文件。3列出指定类型的文件 public String list(FilenameFilter obj) 该方法用字符串形式返回目录下的指定类型的所有文件。 public File l

23、istFiles(FilenameFilter obj) 该方法用File对象返回目录下的指定类型的所有文件。 File对象调用方法 public boolean delete(); 可以删除当前对象代表的文件或目录。如果File对象表示的是一个目录,则该目录必须是一个空目录,删除成功将返回true使用字节流读写文件包提供大量的流类。称InputStream类及其子类对象为字节输入流类,称OutputStream类及其子类对象为字节输出流。InputStream类的常用方法:l int read()输入流调用该方法从源中读取单个字节的数据,该方法返回字节值(0255之间的一个整数)。如果未读出

24、字节就返回-1。l int read(byte b) 输入流调用该方法从源中试图读取b.length个字节到字节数组b中,返回实际读取的字节数目。如果到达文件的末尾,则返回-1。l int read(byte b, int off, int len) 输入流调用该方法从源中试图读取len个字节到字节数组b中,并返回实际读取的字节数目。如果到达文件的末尾,则返回-1。参数off指定从字节数组的某个位置开始存放读取的数据。l void close() 输入流调用该方法关闭输入流。l long skip(long numBytes) 输入流调用该方法跳过numBytes个字节,并返回实际跳过的字节数

25、目。OutputStream类的常用方法:l void write(int n) 输出流调用该方法向输出流写入单个字节。l void write(byte b) 输出流调用该方法向输出流写入一个字节数组。l void write(byte b,int off,int len) 从给定字节数组中起始于偏移量off处取len个字节写入到输出流。l void close() 关闭输出流。输入、输出流示意图n FileInputStream类是InputStream的子类。 构造方法: FileInputStream(String name) FileInputStream(File file) 使用

26、构造方法可能发生IOException异常。输入流通过调用read方法读出源中的数据 。n FileOutputStream是OutputStream类的子类。 构造方法: FileOutputStream(String name) FileOutputStream(File file) 使用构造方法可能发生IOException异常。输出流通过调用write方法把字节写入到目的地 。读取一个名为的文件 FileInputStream流经常和BufferedInputStream流配合使用, FileOutputStream流经常和BufferedOutputStream流配合使用类配合使用

27、提高读写效率。n BufferedInputStream类的一个常用的构造方法是: BufferedInputStream(InputStream in);读取文件A.txt常用下列方式: FileInputStream in=new FileInputStream(A.txt); BufferedInputStream bufferRead=new BufferedInputStream(in);n BufferedOutputStream类的一个常用的构造方法是: BufferedOutputStream(OutputStream out);向文件B.txt写入字节常用下列方式: File

28、OutputStream out=new FileOutputStream(B.txt); BufferedOutputStream bufferWriter=new BufferedOutputStream(out); 例5-6使用字符流读写文件 字节流不能直接操作Unicode字符,所以Java提供了字符流。由于汉字在文件中占用2个字节,如果使用字节流,读取不当会出现乱码现象,采用字符流就可以避免这个现象。在Unicode字符中,一个汉字被看做一个字符。 所有字符输入流类都是Reader(输入流)抽象类的子类。 所有字符输出流都是Writer(输出流)抽象类的子类。 Reader类中常用方

29、法:l int read() l int read(char b)l int read(char b, int off, int len)l void close()l long skip(long numBytes) Writer类中常用方法: void write(int n) 输出流写入一个字符。 void write(char b) 向输出流写入一个字符数组。 void write(char b,int off,int length) void close() 关闭输出流。 FileReader和FileWriter类是Reader和Writer的子类。 FileReader构造方法:

30、 FileReader (String filename) FileReader(File file) FileWriter构造方法: FileWriter (String filename) FileWriter (File file) FileReader流经常和BufferedReader流配合使用; FileWriter流经常和BufferedWriter流配合使用。 n BufferedReader流还可以使用方法 String readLine() 读取一行;n BufferedWriter流还可以使用方法 void write(String s,int off,int lengt

31、h)将字符串s的一部分写入文件. newLine() 向文件写入一个行分隔符 文件上传 用户通过一个JSP页面上传文件给服务器时,该JSP页面必须含有File类型的表单,并且表单必须将ENCTYPE的属性值设成multipart/form-data。File类型表单如下所示:FORM action=接受上传文件的页面 method=post ENCTYPE= multipart/form-data JSP引擎可以让内置对象request调用方法getInputStream()获得一个输入流,通过这个输入流读入用户上传的全部信息,包括文件的内容以及表单域的信息。文件下载JSP内置对象respon

32、se调用方法getOutputStream()可以获取一个指向用户的输出流,服务器将文件写入这个流,用户就可以下载这个文件了。当提供下载功能时,应当使用response对象向用户发送HTTP头信息,这样用户的浏览器就会调用相应的外部程序打开下载的文件,response调用setHeader方法添加下载头的格式如下: ader(Content-disposition,attachment;filename=下载的文件名字); 第 六章 数据库JDBC的全称为Java DataBase Connectivity,是一套面向对象的应用程序接口(API),制定了统一的访问各类关系数据库的标准接口,为各

33、个数据库厂商提供了标准接口的实现。通过JDBC技术,开发人员可以用纯Java语言和标准的SQL语句编写完整的数据库应用程序,并且真正地实现了软件的跨平台性。注意:JDBC不能直接访问数据库,必须依赖于数据库厂商提供的JDBC驱动程序,通常情况下使用JDBC完成以下操作:(1)同数据库建立连接;(2)向数据库发送SQL语句;(3)处理从数据库返回的结果。JDBC优点:(1)JDBC与ODBC十分相似,便于软件开发人员理解;(2)JDBC使软件开发人员从复杂的驱动程序编写工作中解脱出来,可以完全专著与业务逻辑的开发;(3)JDBC支持多种关系型数据库,大大增加了软件的可移植性;(4)JDBC AP

34、I是面向对象的,软件开发人员可以将常用的方法进行二次封装,从而提高代码的重用性。JDBC缺点:(1)通过JDBC访问数据库时速度将受到一定影响;(2)虽然JDBC API是面向对象的,但通过JDBC访问数据库依然是面向关系的;(3)JDBC提供了对不同厂家的产品的支持,这将对数据源带来影响。JDBC驱动程序是用于解决应用程序与数据库通信的问题,它可以分为JDBC-ODBC Bridge、JDBC-Native API Bridge、JDBC-middleware和Pure JDBC Driver4种。第 七章 JSP与JavaBean7.1.1 bean的编写与保存1.如果类的成员变量的名字是

35、xxx,那么为了获取或更改成员变 量的值,即获取或更改属性,类中必须提供两个方法: getXxx()用来获取属性xxx setXxx() 用来修改属性xxx 即方法的名字用get或set为前缀,后缀是将成员变量名字的首字母大写的字符序列。对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用“is”代替上面的“get”和“set”。3.类中声明的方法的访问属性都必须是public的。4.类中声明的构造方法必须是public、无参数的。 参考 getProperty动作标记 使用动作标记getProperty可以获得bean的属性值,并将这个值以字符串的形式显示给用户。 格式如下: 或

36、 第 八章 Java Servlet基础Java Servlet技术的核心就是在服务器端创建能响应用户请求的对象,被创建的对象习惯上称做一个servlet对象。init方法 该方法是HttpServlet类中的方法,我们可以在子类中重写这个方法。init方法的声明格式: public void init(ServletConfig config) throws ServletException servlet对象第一次被请求加载时,服务器创建一个servlet对象,这个对象调用init方法完成必要的初始化工作。 init方法只被调用一次,即在servlet第一次被请求加载时调用该方法。 ser

37、vice方法 public void service(HttpServletRequest request HttpServletResponse response) throw ServletException,IOException 当servlet对象成功创建和初始化之后,该对象就调用service方法来处理用户的请求并返回响应。 service方法可能被多次调用。destroy方法该方法是HttpServlet类中的方法,子类可直接继承这个方法,一般不需要重写。destroy方法的声明格式: public destroy()当服务器终止服务时,destroy()方法会被执行,消灭ser

38、vlet对象。 doPost()或doGet()方法可以在Servlet类中重写doPost()或doGet()方法来响应用户的请求,如果不论用户请求类型是POST还是GET,服务器的处理过程完全相同,那么我们可以只在doPost()方法中编写处理过程,而在doGet()方法中再调用doPost()方法即可,或只在doGet()方法中编写处理过程,而在doPost()方法中再调用doGet()方法。 如果根据请求的类型进行不同的处理,就需在两个方法中编写不同的处理过程。 可以在Servlet类中使用session对象记录有关连接的信息。 HttpServletRequest对象 request调用getSession()方法获取用户的会话对象: HttpSession session= ssion(true); 一个用户在不同的Ser

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁