大连交通大学JSP期末考试知识点总结.docx
- 文档编号:28717722
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:21
- 大小:62.32KB
大连交通大学JSP期末考试知识点总结.docx
《大连交通大学JSP期末考试知识点总结.docx》由会员分享,可在线阅读,更多相关《大连交通大学JSP期末考试知识点总结.docx(21页珍藏版)》请在冰豆网上搜索。
大连交通大学JSP期末考试知识点总结
JSP各章知识点总结
去年考试题型:
一、选择题(2分×15=30分)
二、填空题(1分×15=15分)
三、读程序写结果(3分×5=15分)
JavaBean(2分×10=20分)
四、程序填空
数据库(2分×10=20分)
第一章
JSP简介
1.8080是Tomcat服务器默认占用的端口。
2.如果Tomcat服务器的安装目录是:
D\apache—tomcat—5.5.20\,那么Tomcat的web服务目录的根目录是:
D\apache—tomcat—5.5.20\webapps\Root
3.用户访问JSP页面,在浏览器键入Tomcat的IP地址、端口号、JSP页面的名字
例如:
IP:
192.168.1.200
名字:
example1
则用户在浏览器中键入的内容为:
http:
//192.168.1.200:
8080/example1
4.Tomcat服务器安装目录的webapps目录下的任何一个子目录都可以作为一个web服务目录
5.JSP与JavaServlet的关系
JSP技术屏蔽了Servlet对象的创建过程,使得Web程序设计者只需关心JSP页面本身的结构和设计好的各种标记,比如使用HTML标记设计页面的视图,使用Javabean标记有效地分离页面视图和数据库。
第二章
JSP语法
1.JSP页面:
在传统的HTML页面文件中加入Java程序片和JSP标记就构成了一个JSP页面
普通的HTML标记符
JSP标记,如指令标记、动作标记
2.JSP页面的组成变量和方法的声明
Java程序片
Java表达式
3.在“<%!
”和“%>”标记符号之间声明变量和方法
4.成员变量:
在“<%!
”和“%>”标记符之间声明变量,这些变量称为JSP页面的成员变量
(只被初始化一次,被所有共享)
局部变量:
在“<%!
”和“%>”之间插入Java程序片,在程序片中声明的变量称为JSP页面的局部变量(每个用户所对应的局部变量不同)
5.在“<%=”和“%>”插入一个表达式(不可插入语句,“<%=”是一个完整的符号。
“<%”和“=”之间不要有空格),这个表达式必须能求值,表达式的值是由服务器负责计算的
6.JSP中的注释:
(1)HTML注释:
在标记符“
——”和“——>”之间加入注释内容
JSP引擎把HTML注释交给客户,因此,通过浏览器查看JSP页面源文件时可以看到HTML注释
7.JSP注释:
在标记符号“<%——”和“——%>”之间加入注释内容。
JSP引擎忽略JSP注释
8.Page指令标记:
(1)Page在指令用来定义整个JSP页面的一些属性和这些属性值,属性值用单引号或双引号括起来。
(2)Page指令的作用对整个JSP页面都有效,与其书写位置无关,习惯把Page指令写在JSP页面最前面,可以多次出现。
(3)Page指令标记可以指定如下属性的值:
ContentType、import、language、session、buffer、autoFlush、isTreadsafe、pageEncoding
1)ContentType属性
如果希望客户的浏览器启动HTML解析器来解释执行所接收的信息,设置ContentType属性的值<%@PageContentType=“text/html;charset=GB2312”%>
如果希望客户的浏览器启用本地的MS—Word应用程序来解释执行收到的信息,设置ContentType属性的值<%@PageContentType=“application/msword”%>
如果不使用Page指令为ContentType指定一个值,则ContentType的属性默认值是:
“text/html;charset=ISO—8859—1”
JSP页面使用page指令只能为ContentType指定一个值,不允许两次使用page指令给ContentType指定不同的属性值。
2)language属性:
该属性用来定义JSP页面使用的脚本语言,该属性的值只能取“java”(默认值)
<%@Pagelanguage=“java”%>
3)import属性:
该属性的作用是为JSP页面引入运行环境提供的包中的类,可以为该属性指定多个值
4)session属性:
该属性用于设置是否需要使用内置的session对象,取值为true(默认值)或false
5)buffer属性
内置输出流对象out负责将服务区的某些信息或运行结果发送到客户端显示。
Buffer属性用来指定设置的缓冲区的大小或不使用缓冲区。
Buffer的默认值是8KB,可以取值“none”(不使用缓冲区)
6)autoFlush属性:
该属性用来指定out的缓冲区被填满时,缓冲区是否自动刷新。
取值true(默认值)或false。
7)isThreadSafe属性:
该属性用来设置JSP页面是否可以多线程访问。
取值true(默认值)或false。
8)info属性:
该属性的属性值是一个字符串,其目的是为JSP页面准备一个常用且可能需要经常修改的字符串,可以在JSP页面中使用方法:
getServletInfo();获取info属性的属性值:
例9P23
9)include指令标记:
(先插入再编辑)
<%@includefile=“文件的URL”%>
include指令标记作用在JSP页面出现该指令的位置处静态的插入一个文件。
被插入的文件必须是可访问的和可使用的。
静态插入:
当前JSP页面和插入的部分合并成新的JSP页面,该页面必须符合JSP语法规则,而后JSP引擎再将这个新的页面转译成Java类文件。
include指令可以实现代码的复用。
9.include动作标签
includepage=“文件的URL”/> 或 includepage=“文件的URL”> param字标记 include> 动态插入即JSP页面运行时才将文件加入 10.param动作标签 param标记以“名字——值”的形式为其他标记提供附加信息 param标记不能独立使用,需要作为jsp: include、jsp: forward、jsp: plugin标记的子标记来使用。 11.forward动作标签 forwardpage=“要转向的页面”/> 或 forwardpage=“要转向的页面”> param字标记 forward> 该指令的作用是: 从该指令处停止当前页面的继续执行,而转向执行page属性指定的JSP页面。 12.plugin动作标签 使用plugin动作标记可以保证客户浏览器能执行Javaapplet程序。 该动作标签指示JSP页面加载Javaplugin,该插件由客户负责下载,并使用改插件来运 行Javaapplet程序。 13.usebean动作标签 该标签用来创建并使用一个JavaBean Sun公司的倡导是: 用HTML完成JSP页面的静态部分,使用JavaBean完成动态部分,实现真正意义上的动静态分离 第三章 JSP内置对象 1.JSP的内置对象有: request、response、session、application、out 2.HTTP协议的核心是: 请求和响应 3.HTTP包括请求行、头域、可能的信息体 4.request对象 客户通常使用HTML表单向服务器的某个JSP页面提交信息,表单的一般格式: 提交手段 其中,FORM是表单标记,method的取值为get或post,区别是: 使用get方法提交的信息会在提交的过程中显示在浏览器的地址栏中,而post方法提交的信息不会显示在地址栏中。 Request对象可以使用getParameter(StringS)方法获取该表单通过text提交的信息 Request.getParameter(“boy”) 5.处理汉字信息 避免出现汉字乱码问题有两种解决方法: 1)使用page指定ContextType属性的值时 <%@pagecontentType="text/html;Charset=GB2312"%> 即将其中出现的Charset中的首写字母大写。 2)<%@pagecontentType="text/html;charset=GB2312"%> 即将其中出现的charset中的首写字母小写。 然后内置对象request将获取的信息重新编码,即用ISO-8859-1编码,并存放到字节数组中;再将数组转化成字符串对象。 Stringstr=request.getParameter("boy"); byteb[]=str.getBytes("ISO-8859-1"); str=newString(b); 6.处理HTML标记 (1) 格式: 数据提交手段部分 表单标记经常将下列标记作为表单的子标记,以便提供提交数据的手段,这些标记都以GUI形式出现,方便用户输入或选择数据。 (2)标记 作用: 指定表单数据的输入方式以及表单的提交键 格式: GUI类型: text(文本框)、checkbox(复选框)、submit(提交键)、reset(重置)等 1)文本框text 当输入对象的GUI类型是text时,除了用name为text指定名字外,还可以为text指定其他一些值,比如: inputtype=“text”name=“me”value=“hi”size=“12”algin=“left”> 如果用户没有在文本框中输入任何信息,就单击表单中的提交键,request将调用getParameter方法获取由value指定的值,如果value未指定任何值,getParameter方法获取字符串长度为0,即该字符串为“”。 2)单选按钮radio Request对象调用getParameter方法,获取被选中的radio中value属性指定的值。 Checked如果取值是一个非空的字符串,那么该单选按钮的初始状态就是选中的状态。 如果几个单选按钮的name取值相同,那么同一时刻只能有一个被选中。 3)复选框checkbox 复选框与单选按钮的区别就是可以多选,即如果几个checkbox的name取值相同,那么同一时刻可有多个checkbox被选中。 4)口令框password 它是输入口令用的特殊文本框,输入的信息用“*”回显,防止他人偷看口令。 口令框仅起着不让别人偷看的作用,不提供加密措施。 5)隐藏hidden 此时没有可见的输入界面,表单直接将中valuve属性的值提交给服务器。 6)提交键submit 为了能把将表单的内容提交给服务器,一个表单至少要包括一个提交键。 7)重置键reset 为了将表单中输入的数据清空 (3) 下拉列表和流动列表通过 下拉列表的基本形式: ……………… 在Select中增加size属性的值就变成流动列表。 ……………… (4) 表格以行列形式显示数据,不提供输入数据功能。 …… …… …… 其中, 7.状态代码及代码说明 200: 请求成功 202: 请求已被接受但还没有处理完毕 404: 请求的资源不可用 500: 服务器发生内部错误,不能服务 8.Session对象 Tomcat服务器使用内置session(会话对象记录有关连接的信息) 同一个用户在不同的web服务器目录中的session是互不相同的 9.Session和URL的重写P56 10.Session对象能否和客户建立起一一对应的关系依赖于客户的浏览器是否支持Cookie 如果客户的浏览器是不支持Cookie,可以通过URL重写来实现Session对象的唯一性,使用response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。 11.application对象 该对象由服务器负责创建,每个web服务目录下的application对象被访问该服务目录的所有的用户共享,不同web服务目录下的application互不相同,即所有用户共享一个application对象。 第四章 JSP与JavaBean 1.编写JavaBean,在类的方法命名上遵守规则: (1)如果类的成员变量名字是xxx,获取或更改成员变量的值,即获取更改属性,类中必须提供两个方法: getXxx(),用来获取属性xxx; setXxx(),用来修改属性xxx。 也就是说方法的名字用get或set为前缀,后缀是将成员变量名字的首字母大写的字符序列。 (2)对于boolean类型的成员变量,允许使用is代替上面的get和set。 (3)类中声明的方法的访问属性必须是public的。 (4)类中声明的构造方法必须是public,无参数的。 2.保存bean的字节码 首先: 在当前Web服务目录下建立子目录结构: \WEB-INF\classes。 其次: 根据类的包名,在classes下再建立相应的子目录,如包名为tom.jiafei,那么在classes下建立子目录结构: tom\jiafei。 最后: \WEB-INF\classes被启用后,就可以将建立bean的字节码文件,比如Circle.class,复制\WEB-INF\classes\tom\jiafei中。 例如,ch4\WEB-INF\classes\tom\jiafei中。 3.创建和使用bean 在使用bean的JSP页面中,必须有相应的import指令,例如: <%@pageimport=“tom.jiafei.*”%> 然后在JSP页面中再使用JSP动作标记useBean,来加载使用bean、useBean。 语法格式如下: useBeanid=“bean名字”class=“创建beans的字节码”scope=“bean有效范围”/> 或 useBeanid=“bean名字”class=“创建bean的类”scope=“bean有效范围”> useBean> 创建bean的类要带有包名,如: class=“tom.jiafei.Circle” 例如: useBeanid=“circle”class=“tom.jiafei.Circle”scope=“page”/> 4.useBean标签中scope的取值 (1)scope取值page 此时,bean有效范围是当前页面,不同用户的scope取值是page的bean是互不相同的,即当两个用户同时访问一个JSP页面时,一个用户对自己bean的属性改变,不会影响另一个用户 (2)scope取值session 此时,bean的有效范围是客户的会话(session)期间,实现两页面bean对象共享,当两用户访问一个JSP页面时,不会有相互影响。 (3)scope取值request 此时,bean的有效范围是request期间,一个用户对自己的bean改变不会影响到另一个用户。 (4)scope取值application JSP引擎分配给每个客户一个共享的beans,即不同的用户的scope取值是application的bean也都是相同的一个,若一个客户改变其中某个属性值,其他客户的属性值也跟着发生变化。 5.getProperty动作标记 使用该标记可以获得bean的属性值,并将这个值用串的形式发个客户的浏览器,使用getProperty之前必须使用usebean获得相应的bean。 getPropertyname=“bean的名字”property=“bean的属性”/> 或 getPropertyname=“bean的名字”property=“bean的属性”> getProperty> name取值是bean的名字,用来指定要获取哪个bean的属性的值; property取值是该bean的一个属性的名字,该指令相当于Java表达式: <%=bean.getXxx()%> 6.setProperty动作标签 使用setProperty动作标签可以设置bean的值,有两种方式: (1)将bean属性的值设置为一个表达式的值或字符串(属性值为汉字时,使用此种方式) 表达式: setPropertyname=“bean的名字”property=“bean的属性”value=“<%=express%>”/> 字符串: setPropertyname=“bean的名字”property=“bean的属性”value=字符串/> (2)通过HTTP表单的参数的值来设置bean的相应属性的值 HTTP所有参数的值来设置bean的相应属性的值 setPropertyname=“bean的名字”property=“*”/> 明确bean的某个属性设置为表单中对应的参数值 setPropertyname=“bean的名字”property=“属性名”param=“参数名”/> 例5、6P91~92例子 第五章 JavaServlet基础 1.JavaServlet核心思想就是在服务器端创建能响应用户请求的对象,创建servlet对象。 HttpServlet类实现了Servlet接口,实现了响应用户的方法。 2.部署Servlet (1)字节码的保存 首先,在当前的web服务目录(在webapps下建立的ch7)下建立如下的目录结构: ch7\WEB-INF\classes。 再根据Servlet类的包名,在classes下再建立相应的子目录。 比如Servlet类的包名为star.moon,那么在classes下建立子目录\star\moon。 为了让Tomcat服务器启用上述目录,必须重新启动Tomcat,重启后将Servlet类的字节码比如HelloBejing.class复制到ch7\WEB-INF\classes\star\moon中。 (2)编写部署文件 3.Servlet的生命周期 一个servlet对象的生命周期三个主要过程: (1)初始化servlet,即创建一个servlet对象,该对象调用init方法完成初始化工作。 (2)Servlet对象调用service方法来响应客户的请求。 (3)当服务器关闭时,调用destroy方法,消灭servlet对象。 4.init方法(只被调用一次)在Servlet中重写这个方法: publicvoidinit(ServletConfigconfig)throwsServletException(实现初始化) 5.service方法(实现用户和服务器沟通) 可被多次调用,在Servlet类中可直接继承或重写这个方法: publicvoidservice(HttpServletRequestrequestHttpServletResponseresponse)throwsServletException,IOException 6.destroy方法 一个Servlet类可直接继承这个方法,不需要重写 publicdestroy() 当服务器中止服务时,会执行destroy()方法,从而消灭servlet对象。 7.通过JSP页面调用Servlet 通过表单向Servlet提交数据P187 通过超链接访问ServletP189 8.doGet和doPost方法 HttpServlet类除了init、service、destroy方法外,还有doGet和doPost方法用来处理客户的请求并作出响应(get请求或post请求)。 在Servlet方法中根据用户的请求方式,对应地再调用doGet或doPost方法,因此,在Servlet类中,不必重写service方法,来影响客户,直接继承service方法即可。 我们可以在Servlet类中重写doGet或doPost方法来响应用户的请求,可以增加响应的灵活性,并降低服务器的负担。 9.重定向与转发 (1)重定向方法(SendRedirect)将用户从当前页面或servlet定向到另一个JSP页面或 servlet;但不能将用户对当前页面或另一个Servlet的请求(HttpServletResponse对 象)转发给所定向的资源,即,重定向的目标页面或Servlet对象无法使用request获 取用户提交的数据。 (2)转发(RequestDispatcher)和重定向方法不同的是,用户在浏览器的地址栏中不能看到forward方法转发的页面地址或Servlet的地址,只能看到该页面或Servlet的运行效果,用户在浏览器的地址栏中所看到的仍然是当前Servlet的地址。 10.获取用户的会话 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1标记
…… 定义表格的一个行 或 定义这一行中的表格单元,二者区别是 定义的单元着重显示, 称作普通单元,不着重显示;行中的着重单元和普通单元可以交替出现,也可以全是着重单元或普通单元。 中增加选项Border可指明该表格是否带有边框。