Javaweb学习(六)JavaBean技术
JavaBean技术
题量: 16 满分: 100
作答时间:11-09 19:22至12-30 19:22
重做
100分
一. 单选题(共8题,49.6分)
1.不是JavaBean属性的项为( )。
A. constrained属性
B. id属性
C. bound属性
D. simple属性
我的答案: B正确答案: B
2.下面哪项是错误的设置Bean属性值的方法( )
A. <jsp:setPropertyname=\”beanInstanceName\” property= \”*\” />
B. <jsp:setPropertyname=\”beanInstanceName\”
property=\”propertyName\”value=\”123\”/>
C. <jsp:setPropertyname=\”beanInstanceName\”
property=\”propertyName\”param=\”parameterName\” />
D. <jsp:setPropertyname=\”beanInstanceName\”
property=\”*\” value=\”{string |<%= expression %>}\”/>
我的答案: D正确答案: D
3.在JSP中,使用<jsp:useBean>动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是( )
A. page
B. request
C. response
D. application
我的答案: C正确答案: C
4.关于JavaBean正确的说法是( )
A. Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写
B. 在JSP文件中引用Bean,其实就是用<jsp:useBean>语句
C. 被引用的Bean文件的文件名后缀为.java
D. Bean文件放在任何目录下都可以被引用
我的答案: A正确答案: A
5.JavaBean的scope取值( )可使该javabean被多个用户共享,即和web应用有相同的生命周期。
A. page
B. request
C. session
D. application
我的答案: D正确答案: D
6.下列( )作用范围的Bean,当客户离开这个页面时,JSP引擎取消为客户该页面分配的Bean,释放他所占的内存空间。
A. application
B. request
C. page
D. session
我的答案: C正确答案: C
7.JavaBean的属性可以使用( )来访问
A. 属性
B. get()和set()方法
C. 事件
D. Scriptlet
我的答案: B正确答案: B
8.不是JavaBean作用域的项为( )
A. bound
B. page
C. request
D. application
我的答案: A正确答案: A
二. 多选题(共3题,18.6分)
9.某JSP程序中声明使用javaBean的语句如下
<jsp:useBean id=”user” class=”mypackage.User” scope=”page”/>
要取出该javaBean的loginName属性值,以下语句正确的是( )。
A. <jsp:getProperty name=\”user\” property=\”loginName\”/>
B. <jsp:getProperty id=\”user\” property=\”loginName\”/>
C. <%=user.getLoginName()%>
D. <%=user.getProperty(\”loginName\”)%>
我的答案: AC正确答案: AC
10.下列关于getProperty标准动作的说法正确的是( )
A. 当JavaBean不存在所访问的属性时,显示null
B. 当JavaBean不存在所访问的属性时,发生异常
C. getProperty标准动作实际上是调用对应属性的get方法
D. 以上都不对
我的答案: BC正确答案: BC
11. 使用JavaBean的好处有( )
A. JavaBean拥有标准化接口的优点,在开发期有可视化编程工具的支持,在运行期有JSP和J2EE连接器的支持。
B. JavaBean更明确的把WEB页面的设计和软件的设计区分开来。
C. JavaBean可以在多个应用程序中重用。
D. JavaBean可以实现安全性、事务行为、并发性和持久性。
我的答案: ABC正确答案: ABC
三. 填空题(共4题,24.8分)
12.[填空(1)]操作可以定义一个具有一定生存范围以及一个唯一id的JavaBean的实例。
我的答案:
(1)<jsp:useBean>
正确答案:
(1) <jsp:useBean>
13.[填空(1)]和JSP相结合,可以实现表现层和商业逻辑层的分离。
我的答案:
(1)JavaBean
正确答案:
(1) JavaBean
14.Request对象中用来获得服务器的端口号的方法是[填空(1)]
我的答案:
(1)getServerPort(String name)方法
正确答案:
(1) getServerPort(String name)方法
15. JavaBean有四个scope,它们分别为[填空(1)]、request、session和
application。
我的答案:
(1)page
正确答案:
(1) Page
四. 判断题(共1题,7分)
16.JavaBean的属性必须声明为public,方法必须声明为private访问类型。
A. 对
B. 错
我的答案: 错正确答案: 错
JSP运行原理及运行过程
JSP的工作模式是请求/响应模式,客户端首先发出HTTP请求,JSP程序收到请求后将进行处理并返回处理结果。在一个JSP文件第一次被请求的时候,JSP引擎(容器)把该JSP文件转换成一个Servlet,而这个引擎本身也是一个Servlet。JSP的运行原理如图11-4所示。
图11-4 JSP的运行原理
JSP的运行过程具体如下。
(1)客户端发出请求,请求访问JSP文件。
(2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果发现JSP文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。
(3)如果转换成功,则JSP容器会将生成的Java源文件编译成相应的字节码文件*.class。该class文件就是一个Servlet,Servlet容器会像处理其他Servlet一样处理它。
(4)由Servlet容器加载转换后的Servlet类(class文件)创建一个该Servlet(JSP页面的转换结果)的实例,并执行Servlet的jspInit()方法。jsInit()方法在Servlet的整个生命周期中只会执行一次。
(5)执行jspService()方法处理客户端的请求。对于每一个请求,JSP容器都会创建一个新的线程处理它。如果多个客户端同时请求该JSP文件,则JSP容器会创建多个线程,使每一个客户端请求都对应一个线程。
(6)如果JSP文件被修改了,则服务器将根据设置决定是否对该文件重新进行编译,如果需要重新编译,则使用重新编译后的结果取代内存中的Servlet,并继续上述处理过程。需要注意的是,虽然JSP效率很高,但在第一次调用时往往由于需要转换和编译,所以会产生一些轻微的延迟。
(7)如果系统出现资源不足等问题,JSP容器可能会以某种不确定的方式将Servlet从内存中移除,发生这种情况的时候,首先会调用jspDestroy()方法,然后Servlet实例会被作为“垃圾”进行处理。
(8)当请求处理完成后,响应对象由JSP容器接收,并将HTML格式的响应信息发送回客户端。
jsp原理详解
jsp
1 什么是JSP
Java Server Pages : Java服务器端页面,也和Servlet一样,用于动态web技术!
最大的特点:
写Jsp就像写HTML
区别:
HTML只给用户提供静态的数据
JSP页面中可以嵌套Java代码,为用户提供动态数据
2 jSP原理
思路: JSP到底怎么执行的!
代码层面没有任何问题
服务器内部 工作
tomcat 中有一个work目录
idea中使用tomcat会在idea中产生一个work目录
这个是 idea tomcat的工作空间
路径:
浏览器向服务器发送请求,不管访问什么资源,起始都是在访问Servlet
JSP最终也会被转换成为一个Java类
JSP本质上就是一个Servlet
1.判断请求
2.内置对象
3.输出页面前增加的代码
以上的这些个对象我们可以在JSP页面中直接使用
jsp原理图
在JSP页面中;
只要是Java代码就会原封不动的输出
如果是HTML代码,就会被转换
这样的格式,输出到前端
3 JSP基础语法
任何语言都有自己的语法,Java中有,JSP作为Java技术的一种应用,它拥有一些自己的扩容的语法,Java所有语法都支持
JSP表达式
述(最多18字
jsp 脚本片段
脚本片段的实现
JSP声明
JSP声明: 会被编译到JSP生成Java类中! 其他的,就会被生成到 _jspService 方法中
在JSP中嵌入Java代码即可
jsp的注释,不会在客户端显示,HTML就会
4 JSP指令
总结:
在实际开发中建议使用 下面 jsp:include/的方式
如果使用上面那一种的话 如果在header.jsp或者在footer.jsp中声明了 int a=1; 又在当前jsp中声明了相同的变量 在jsp页面不会报错,去了浏览器里面 就报错了。
所以建议使用 jsp标签 进行页面拼接
5 九大内置对象
>PageContext 存东西
>Request 存东西
>Response
>Session 存东西
>Application 【ServletContext 】 存东西
>config 【ServletConfig】
>out
>page
>exception
equest:客户端向服务器发送请求,产生的数据,用户看完了就没作用了,比如:新闻 用户看完了没作用了。
session:客户端向服务器发送请求,产生的数据,用户用完了一会还有用,比如:购物车;
application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用:比如:聊天数据
6 JSP标签 JSTL标签 EL表达式
开始之前导入所学的依赖
EL表达式: ${ }
>获取数据
>执行运算
>获取web开发的常用对象
JSP 标签
发送:
接收:
JSTL 表达式
JSTL表达式的使用就是为了弥补HTML标签的不足;它自定义许多标签,供我们使用,标签的功能和Java代码一样
核心标签
JSTL 标签库使用步骤
引入对应的taglib
使用其中的方法
在Tomcat也需要引入jstl的包,否则会报错
c:if
c:choose c:when
c:forEach
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。