ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:63.26KB ,
资源ID:2200776      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2200776.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(广东海洋大学-JSP程序设计-WEB开发技术-复习提纲.docx)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

广东海洋大学-JSP程序设计-WEB开发技术-复习提纲.docx

1、 《JSP程序设计》 一、概述 1.3 JSP页面与Web服务目录 1. 访问JSP页面的四种方式: (1)根目录:.\webapps\Root,直接通过http://127.0.0.1/JSP文件名访问 (2)webapps下的Web服务目录:.\webapps\MyWeb, 可通过http://127.0.0.1/MyWeb/JSP文件名访问,新建后不必重启

2、Tomcat服务器; (3)新建Web服务目录:需要事先配置conf文件夹下的server.xml,添加: , 修改后必须重启Tomcat服务器; (4)在已建立好的Web服务目录下新建路径,通过网址相对路径的方式也能访问文件。 1.4 JSP运行原理 1.JSP页面的运行原理: (1)当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个java文件,并对该文件编译生成字节码(.class)文件,然

3、后执行字节码文件响应用户的请求。 (2)当该JSP页面再次被请求执行时,JSP将直接执行字节码文件来响应用户,从而提高JSP页面的访问速度。 2.JSP页面的执行过程: (1)JSP引擎将JSP页面中的HTML标记发送到用户浏览器,由浏览器中的HTML解释器负责解释执行HTML标记; (2)JSP引擎处理JSP标记,并将有关的处理结果发送到用户浏览器上; (3)执行“<%%>”之间的Java程序片,把执行结果以字符串的形式交由用户浏览器显示; (4)当多个用户请求一个JSP页面时,Tomcat服务器为每个用户启动一个线程,负责执行字节码文件响应请求。 二、JSP页面与

4、JSP标记 2.1 JSP页面的基本结构 (1)HTML标记(2)JSP标记(3)变量/方法的声明(4)Java程序片(5)Java表达式 <%@ page contentType="text/html;charset=GB2312" %> <%!int sum; // 数据声明 public int getFactorSum(int n) { // 方法声明 sum = n;

5、 return sum; } %> <% out.println("
Hello World
"); // java程序片 %> <%=sum%> 2.2 变量和方法的声明 <%! 变量/方法声明语

6、句 %> (1)在整个JSP页面内有效,与<%!、%>位置无关,习惯写在前面; (2)在<%!和%>中声明的变量成为JSP页面(类)的成员变量; (3)多用户访问JSP页面时,页面的成员变量在多个线程之间共享。 (4)避免用户在操作成员变量时变量被其他用户修改,有以下两种方法: ① 合理配置变量作用域; ② 对操作成员变量的方法使用synchronize关键字修饰。 2.3 Java程序片 <% Java程序片 %> (1)一个JSP页面可以有许多可分割的Java程序片,JSP引擎会按顺序执行它们; (2)Java程序片中声明的变量称为JSP页面的局部变量; (3)

7、多用户访问JSP页面时,页面的Java程序片在多个线程中独立运行。 2.4 表达式 <%=表达式%> (1)不能在表达式中插入语句,如<%=x=100%>是错误的; (2)<%和=之间不能有空格; (3)表达式的值交由服务器计算,计算结果以字符串的形式发送至用户端显示。 2.5 JSP中的注释 (1)HTML注释:用户可通过浏览器查看HTML注释的内容; (2)JSP注释:编译JSP页面时将忽略JSP注释,用户无法查看JSP注释的内容。 <%-- JSP注释 --%> 2.6 JSP指令标记(静态) 2.6.1 page指

8、令标记 —— 定义JSP页面的属性及其取值 <%@ page 属性="取值1","取值2",… %> page属性的取值: (1)language:脚本语言,目前只能取java(默认取值); (2)import:为 JSP页面引入Java核心包中的类, 如:<%@ page import="java.io.*" %> 默认引入了java.lang.*, javax.servlet, javax.servlet.jsp.*和javax.servlet.http.*; (3)contentType:确定JSP页面响应的MIME类型(打开方式)及字符编码; 如:<%@ page

9、contentType="text/html;charset=GB2312" %> <%@ page contentType="application/msword" %> contentType属性只能指定一个值,不允许指定多值; (4)session:是否需要使用内置的session对象(见4.3节),默认为true; (5)buffer:设置内置输出流out对象(见4.4节)的缓冲区大小,默认8KB,取值none表示不使用缓冲区; (6)autoFlush:当out对象的缓冲区被填满时,缓冲区是否自动刷新,默认true; 当取值false时,缓冲区满会出现缓存溢出异常; b

10、uffer取值none时该属性无法设置。 (7)isThreadSafe:设置JSP页面是否可多线程访问,默认true; (8)info:JSP页面设置一个常用且经常修改的字符串值,可通过getServletInfo()方法调用。 2.6.2 include指令标记 —— 在该指令处静态插入一个文件 <%@ include file="文件URL" %> 插入的jsp文件中,page指令的contentType属性的值要与原文件保持一致。 2.7 JSP动作标记(动态) 2.7.1 param动作标记 —— 为其他标记以名值对的形式传递参数

11、me="属性名" value="属性值" /> 不能单独使用,只能作为include、forward和plugin动作的子标记使用。 2.7.2 include动作标记 —— 动态加载文件 param子标记 [注]include指令标记与include动作标记的区别: include指令标记:编译时处理文件,依赖于当前JSP页面,执行速度快; include动作标记:运行时处理文件,可使用param子标记灵活处理,执行速度慢; 2

12、7.3 forward动作标记 —— 页面重定向 param子标记 地址不变,属于服务器端的跳转,可用param子标记向跳转页面传参; 转向的文件可以使用request内置对象获取param子标记的name属性的值 2.7.4 plugin动作标记 —— 加载Java plugin插件,运行Java applet小程序

13、 width="小程序宽度" height="小程序高度"> 提示用户浏览器是否支持插件下载的信息 2.7.5 useBean动作标记 —— 创建、使用JavaBean(见第七章) 习题二: T2:两次(Java程序片在多线程中独立运行) T3:不允许,允许(contentType属性只能指定一个值) T4:第一个用户显示sum的值为610,第二个用户显示sum的值为610+600=1210。 T6:见2.7.2[注] 三、Tag文件与Tag标记 使用Tag文件的优

14、点:(1)代码复用(2)数据处理与数据显示分离,有利于页面维护; 用户不能通过Web服务目录直接访问Tag文件。 3.1 Tag文件的结构(tag指令见3.4.1节) <%@ tag pageEncoding="Tag文件编码" %> [tag文件内容,要求同jsp文件] 3.2 Tag文件的存储目录 —— Webapps目录\WEB-INF\tags 3.3 Tag标记 3.3.1 Tag标记与Tag文件 —— JSP页面必须通过调用Tag标记调用Tag文件 <前缀:Tag文件名 [对象1="值1" 对象2="值2"...] /> 或 <前缀:Tag文件名

15、 [对象1="值1" 对象2="值2"...]>标记体 [注]此处“对象”指的是JSP文件向Tag文件传递的参数名 3.3.2 Tag标记的使用 使用Tag标记调用Tag文件前,需要使用taglib指令引入Web服务目录下的标记库: <%@ taglib tagdir="标记库目录" prefix="前缀" %> 若干个Tag文件所对应的Tag标记组成一个标记库,标记库可以有若干个,引入标记库后,可以使用带前缀的Tag标记调用Tag文件。 [注](1)标记库必须以"/WEB-INF/tags"开头; (2)Tag文件<%!%>中声明的变量,会在

16、Tag文件执行完毕后立即释放内存空间。 JSP处理Tag标记的原理: (1)Tag文件被首次调用或被修改时,JSP依次将该文件 转译(java文件)、编译(.class字节码文件)并执行; (2)Tag文件已经编译成字节码文件时,JSP直接执行该文件。 3.3.3 Tag标记的标记体 —— 动态向Tag文件传递信息 <前缀:Tag文件名>标记体 Tag文件通过使用 来处理从jsp文件传递过来的标记体。 (将Tag文件中的doBody标记替换成jsp文件中的标记体) 3.4 Tag文件中的常用命令 3.4.1

17、tag指令 —— 指定tag文件某些属性的值 <%@ tag 属性1="值 1" 属性2="值2"... %> 也可以使用多个tag指令分别指定tag文件各个属性的值 tag指令的属性: (1)body-content:JSP中的Tag标记是否有标记体,以及标记体内容的类型: ① empty:Tag标记无标记体; ② tagdependent:Tag标记可以有标记体,且标记体按纯文本处理; ③ scriptless(默认):Tag标记可以有标记体,但标记体中不能有Java程序片; (2)language:Tag文件使用的脚本语言,与JSP页面中的language属性类似; (

18、3)import:向Tag文件引入Java核心包中的类,与同JSP页面import属性类似; (4)pageEncoding:指定Tag文件字符编码,默认值为ISO-8859-1; 3.4.2 include指令:与JSP页面中的include指令类似。 3.4.3 attribute指令 —— 接收从JSP页面Tag标记中传来的对象(参数) <%@ attribute name="对象名" require="true或false" type="对象类型" %> name:从JSP页面的Tag标记传递过来的对象名(必须有); require:① true:JSP页面必须传递

19、该对象,若没有传递则产生错误; ② false(默认):JSP页面可以不传递该对象; type:传递对象的类型,必须带上包名,如java.lang.String(默认); [注] (1)Tag文件中定义的变量名与attribute指令接收的对象名相同时,变量将覆盖对象名,使其失效。 (2)标记和attribute指令的区别: ① 标记是通过替换的方式接收JSP页面传递的信息; attribute指令是通过传值的方式接收JSP页面传递的信息; ② 标记接收传递信息的类型大部分是字符串; attr

20、ibute指令可以接收除字符串外其他类型的对象; ③ 标记可以接收Java程序片,而attribute指令不可以。 3.4.4 variable指令 —— Tag文件通过该指令向JSP页面返回对象 1. 格式: <%@ variable name-given="对象名" variable-class="对象类型" scope="有效范围" %> name-given:同attribute指令中的name属性; variable-class:同attribute指令中的type属性; scope:① AT_BEGIN:在Tag标记开始后就可使用;

21、 ② NESTED:只能在Tag标记体内使用; AT_BEGIN NESTED AT_END Hello World! ... ③ AT_END:在Tag标记结束后才能使用。 2. 对象的返回: 除了要使用variable指令外,Tag文件还需要调用Tomcat中的内置对象jspContext的setAttribute方法,将对象名和对象引用(对象值)存储到jspContext中,JSP页面才能使用该对象。

22、 jspContext.setAttribute("对象名",对象引用); [注] (1)若JSP定义的变量名与variable指令返回的对象名相同,Tag文件将出现编译错误。 (2)若attribute指令接收的对象名与variable指令返回的对象名相同,Tag文件也会出现编译错误。 3.4.5 taglib指令 —— 与JSP页面的taglib指令类似 Tag文件也可以引入标记库,通过tag标记引用其他Tag文件(Tag文件的嵌套调用); 习题三: T1:不可以(用户不能通过Web服务目录直接访问Tag文件) T2:Webapps目录\WEB-INF\tags或

23、该路径下的自定义子目录 四、JSP内置对象 HTTP—WWW底层协议介绍: 用户端 浏览器 服务端 服务器 请求(Request) 响应(Response) 浏览器按照HTTP协议发出的请求包括请求行、HTTP头和信息体: (1)请求行:规定了请求方法(如GET、POST等)、请求资源及HTTP版本; (2)HTTP头:提供信息体的附加信息及请求来源; (3)信息体:可包含HTML表单的内容。 服务器收到请求时,返回HTTP响应,包括状态行,响应HTTP头和响应信息体: (1)状态行:说明所使用的协议、状态代码(如404)及文本信息;

24、2)响应HTTP头:提供信息体的附加信息及响应来源; (3)响应信息体:用户请求的网页运行结果。 4.1 request对象 —— 获取用户提交的信息 request.getParameter("表单中的对象名"); [注]通过表单标签

提交信息时,method属性取值get和post的区别: get:URL后附加字符串参数,表示提交的变量,以?开始,用&连接,速度快; post:以名值对的形式将数据存放在HTTP请求报头尾部,不在URL显示,安全。 4.1.1 获取用户提交的信息 使用变量获取request对象的信息并处理,当JSP执行字节码文件时会认为该变

25、量对象值为空,从而提示空指针异常。可通过判断和初始化变量来消除异常: if (var == null) var = “”; 4.1.2 处理汉字信息 用户提交的汉字字符会出现乱码,应利用字节数组来对汉字进行编码转换。 byte[] b = str.getBytes(“iso-8859-1”); str = new String(b); 4.1.5 处理HTML标记 String items[] = request.getParameter(“item”); // 复选框返回字符串数组 4.2 response对象 —— 动态响应用户请求 4.2.1 动态响应co

26、ntentType属性 response.setContentType("jsp文件page指令contentType属性的值"); 4.2.2 response的HTTP文件头 response.addHeader ("响应HTTP头名",响应值); response.setHeader ("响应HTTP头名",响应值); response.getHeader ("响应HTTP头名",响应值); 如:response.setHeader ("Refresh","5;url=跳转地址");可以实现5秒后跳转指定页面;response.getHeader("referer");将

27、返回引用该页面的页面地址。 4.2.3 response重定向 response.sendRedirect (URL); [注]与forward指令不同的是,使用response对象重定向的地址会改变,是客户端的跳转,不传参。 4.2.4 response的状态行 response.setStatus (int n); n的取值:1xx:实验用;2xx:请求成功;3xx:需进一步动作; 4xx:浏览器请求失败;5xx:服务器错误; 4.3 session对象 —— 在一次会话中保存用户提交的信息 会话:从用户访问服务器的Web服务目录,到用户离开该目录的过程。

28、 4.3.1 session对象的Id JSP引擎为每个线程的用户分配一个Session对象的Id字符串,存放在用户的Cookies中,可通过session.getId();获取。同一用户在不同服务目录(网站)的session不同。需要tomcat的session对象和客户端的cookies支持。 4.3.2 session对象与URL重写 URL重写:用户从一个页面链接到另一页面时,通过向URL添加参数,将用户session对象的ID传递给新页面。 String str = response.encodeRedirectURL(URL);

4.3.3 session对象存储数据 session.setAttribute("key",Obj value); // 新设置的同关键字值会覆盖旧值 session.getAttribute("key"); session.getAttributeName(); // 返回枚举对象,使用nextElements()遍历对象关键字 session.getCreationTime(); session.removeAttribute("key"); 4.3.4 在Tag文件中使用session

30、对象 4.3.5 session对象的生存期限 session对象的生存期限取决于: (1)是否调用了invalidate()方法使其无效; (2)是否达到了最长“发呆”时间 (两次请求发送之间的间隔,可通过web.xml或setMaxInactiveInterval()方法设置,当设置为负数时,表示发呆时间不受限制); (3)服务器是否被关闭; 4.4 out对象 —— 输出数据 out.println(数据类型); 4.5 application对象 —— 在同一Web服务目录下为所有用户所共享; 4.5.1 application对象的常用方法:同Sessio

31、n对象; 习题四: T1:C(复选框返回字符串数组) T4:实现用户的重定向。(见4.2.3节) T5:(1)不同。(2)相同。(3)可能消失。(4)可能消失(见4.3.1和4.3.5节) 六、在JSP中使用数据库 1.JDBC是什么?有什么作用?(P146) 答:JDBC是用Java语言编写的数据库驱动程序,它可以调用本地的JDBC-数据库驱动程序和响应的数据库建立连接。 七、JSP与JavaBean JavaBean是一种Java类,通过封装属性和方法称为具有某种功能或者处理某个业务的对象,简称Bean。 7.1 编写使用JavaBean 1.

32、编写bean: 为使JSP引擎识别bean对象的属性和方法,在类的方法命名上需要遵守以下规则: (1)为类的成员变量提供两个操作方法: ① public Type getXxx(); // 获取成员变量 ② public void setXxx(Type T); // 设置成员变量 [注]关联属性,即可由其他成员变量计算得出的属性值无需提供set方法。 (2)类中方法的访问权限必须为public,其中构造方法必须为无参构造方法; (3)Tomcat 5.0以上版本:bean必须带有包名。 2. 保存bean: 将编写好bean的java源文件编译成字节码文件后,保存在:

33、 Webapps目录\WEB\classes\[根据bean中包名建立相应路径] 7.1.2 使用bean (1)JSP页面需要导入bean中对应的包名,如:<%@ page import="包.*" %>; (2)使用useBean动作标记加载使用bean: 1. useBean标记的格式: 2. bean的有效期限:

34、 scope取值: ① page:当前页面; ② request:一次请求响应期间; ③ session:用户会话期间; ④ application:在JSP页面下分配多用户共享的bean 7.2 获取和修改bean的属性 7.2.1 getProperty动作标记 —— 要求保证bean对象中有相应属性的get方法

35、> 7.2.2 setProperty动作标记 —— 要求保证bean对象中有相应属性的set方法 1. 将bean属性的值设置为表达式或字符串: [注] 当value属性的值为表达式时,表达式值的类型要与bean中对应属性的类型一致; 当value属性的值为字符串时,字符串会自动转化为bean中对

36、应属性的类型。 2. 通过HTTP表单的参数值设置bean中相应属性的值: 要求表单中的参数名与bean中的属性名一一对应相同; 不要求表单中的参数名与bean中的属性名相同。 习题七 T1:保存在mymoon\WEB-INF\classes\blue\sky中。 T2:不允许。 T3:C。 T4:A。 Welcome To Download !!! 欢迎您的下载,资料仅供参考! 精品资料

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服