《JSP应用开发项目化教程课后习题参考答案.docx》由会员分享,可在线阅读,更多相关《JSP应用开发项目化教程课后习题参考答案.docx(14页珍藏版)》请在第壹文秘上搜索。
1、课后习题参考答案1、简单叙述TomCaI服务器安装路径下各目录的作用。【参考答案】以TomCat6.0为例,列出其子目录的各项功能:(1) binTomcat中的一些可执行文件和批处理文件,用于启动、停止服务等。(2) cong存放TonlCat中的各种全局配置文件。(3) libTomCat运行库文件。(4) logs运行日志。(5) temp临时目录。(6) webapps项目发布目录。(7) work存放JSP编译后生成的Java代码和class类。2、归纳在MyECliPSe环境下创建、发布、运行Web项目过程。【参考答案】第一步,创建项目:创建或选择工作空间(WorkSpace,工作
2、空间),进入后默认的视图为MyECliPSC视图。选择【Filo-*new-*WebProject,后出现创建WCb项目的窗口,在【ProjectName中填入项目名称如test,点击【finish】完成;第二步,项目编码:(创建JSP页面等)略;第三步,发布项目:首先,配置外部服务器。选择MyECliPSe菜单中的Window下的Preferences选项,进入到配置环境界面,在左边的工具条中,选择【Myeclipse】-【Servers】-【Tomcat】,进行相关配置。其次,发布过程。服务器配置完成后,选择工具条中的发布工具,将项目部署到TomCat中。最后,启动项目。项目成功发布后,选
3、择工具条中的服务器启动工具选择配好的服务器,启动服务器。在地址栏中输入项目地址whttp:/localhost:8080/test/index.jsp”启动项目。3.在MyECIiPSe中有时发布完项目后启动TOinCat服务器时会报出如图1.11所示的错误.BindException:Addressalreadyinuse:JVNLBin(KnUIl:8080”请根据所学知识和错误提示盘点这是什么样的错误,怎样解决。信息:TheAPRbasedApacheTomcatNativelibrarywhichallowsoptimalperformancein2010-12-221:19:04or
4、g.apache.coyote.httpl1.HttpllProtocolinit乒重:ErrorinitializingendpointJaV.BindEXCePtiOn:Addressalreadyinuse:JVM-Bind:8060.JIoEncIpoint.init(JloEndPoint.java:5021atorg.apache.coyote.httpl1.HttpllProtocol.init(HttPI.IProtoIol.java:176)atorg.apache.catalina.connector.Connector.initialize(ConneCtor.java:
5、1058)【参考答案】说明Tomcat服务器已经启动后没有停止,又一次重新启动服务器就会出现这种情况。出现这种情况后,首先停止服务器,再重新启动。若还是出现这种情况,可将MyECIiPSe开发工具关闭,并使用CtrI+alt+del进入任务管理器,选择进程选项,检查系统服务中的TOmCat进程是否关闭,若没有关闭,请停止该服务后重新启动即可。课后习题参考答案1、归纳静态Html页面由哪几部分组成?【参考答案】网页的标题网页的内容,很多标记都作用于此2、Html页面中的常用标签有哪些?【参考答案】基本标签:,创建一个HTML文档; headXhead,设置文档标题和其它在网页中不显示的信息;ti
6、tle,设置文档的标题;.字体颜色;链接标签:,创建超文本链接;表格标签:,创建一个表格;,表格中的每一行;,表格中一行中的每一个格子;表单元素标签:等标签3.写出iFrame标签的常用属性。【参考答案】srcwidthheightframeborderHiarginwidth引用链接地址一框架的宽度框架的高度-定义了内容页的边框,取值为(IIo),缺省值为1-定义了框架中HTML文件显示的左右边界的宽度,缺省值由浏览器决定marginheight-定义了框架中HTML文件显示的上下边界的矿度,缺省值由浏览器决定scrolling-设置或获取框架是否可被滚动。auto=自动调整yes=有滚动条
7、no=无滚动条4、在Hlml页面中怎样定义JS脚本?【参考答案】网页中引入JaVaSCriPt的方法。方法一:直接在页面中加入JaVaSCriPt代码,这是最常用的方法。scriptIangUagC=Javascript方法二:引用外部JS文件。5、在Html页面中怎样定义CSS样式?【参考答案】方法1:在和之间加入语句,定义样式方法2:引入已经定义好的CSS文件,使用这句来连接CSS文件。1、include指令标记与indu加动作标记有什么区别?【参考答案】include页面指令与include动作的区别主要在:1)JSP页面指令相当于是把被包含文件代码原封不动的放进了包含它的文件中,编译时
8、候生成一个class文件。JSP动作指令被包含的文件和包含的文件在编译时候生成的是两个class文件。2) jsp:include动作标记包含的是执行结果,而include页面指令包含的是文件内容。3) jsp:include动作元素在请求期间被执行,而include页面指令在编译期页面间被执行。2、在%!和之间声明的变量和在%和之间声明的变量有何区别?【参考答案】1)在%!%之间声明的变量在JSP页面内都有效,也就是说说可以理解为%!%之间声明的是全局的变量和方法,可以方法可以被公有使用,变量则可以被所有方法调用改变。2)在%之间声明的变量则为局部变量,当运行多个线程时,值不会相互影响.3、
9、说明jsp:USeBean动作标签的作用。【参考答案】用来装载一个将在JSP页面中使用的JaVaBean。其中,CIaSS属性指定的类所在包的位置和类名信息,id属性指定JaVaBean实例的名称。scope属性定义bean的工作范围。jsp:USeBean的作用是下指定的工作范围内创建JavaBean的实例。4、ClaSS.forname()方法的作用是什么,其中ClaSS类是属于哪个包。【参考答案】CIaSS.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段动态加载和创建CIaSS对象,比如想根据用户输入的字符串来创建对象。C
10、laSS.forName(“类名”)在数据库驱动时是很常用的,就是让jvm加载驱动类用的。因为JDBC的DriverManager是个通用的类,显然不可能事先通过硬编码来创建驱动程序的实例,因为它根本不知道用户将使用哪个驱动程序。所以不可能有类似newcom.microsoft.jdbc.sqlserver.SQLServerDriver()这样的代码出现。所以就需要使用DriverManagengetConnection之前调用ClaSS.forName(驱动名)来使JVM加载驱动程序类。5、PreParedStatement与Statement的区别有哪些?【参考答案】1)使用PrePar
11、edStatement代码的可读性和可维护性高。2)使用PreparedStatement可能提高性能。3)使用PreParedStatement代码的安全性可以避免这种注入威胁。6、怎样导入数据库驱动的外部Jar包?【参考答案】方法1:使用JavaBuildPath完成导入Jar包如下图所示,在MyECliPSe项目单击鼠标右键,选择ProPerIieS选项。选中其中的JaVaBuildPath,在选中LibrarieS选项卡。选中右侧的【AddLibrary】进行添加。在点击【AddLibrary后,出现如下界面,选中其中的【UserLibrary项进行添加用户包。方法2:使用拷贝方式。可
12、以将外部Jar包直接拷贝的WebRootAVeb-INFZlib目录下,然后刷新项目即可。7、请说出一个JSP的运行原理。【参考答案】当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤:1)将JSP页面翻译成一个SerVlet,SerVlet是一个java类;4) JSP引擎调用java编译器对SerVIet进行编译,得到对应ClaSS文件;5) JSP引擎调用java虚拟机来解释执行CIaSS文件,生成向客户端发送的应答,然后发送给客户端;以上三个步骤仅仅在JSP页面第一次被访问时才会执行,以后的访问速度会因为class文件已经生成而大大提高。当JSP引擎接到一个客户端的访问请求时
13、,首先判断请求的JSP页面是否比对应的SerVlet是否有变化,如果发生了改变,对应的JSP需要重新编译,否则,如果JSP页面没有发生变化,将直接调用己经生成的class文件进行执行。1、比较常用隐式对象的作用范围。【参考答案】内置对象名称代表内容范围request客户端发的HTTP请求requestresponse向客户端发的应答pagesession为请求的客户创建的session对象sessionapplication从SerVlel配置对象获得的servlet上下文(如在geiSerVletConfigOgeiConiexi()的调用中)applicationout向输出流写入内容的对象pagepageContext本JSP的页面上下文pagepage实现处理本页当前请求的类的实例pageconfig本JSP的ServIetConflgpageexception表示JSP页面运行时产生的异常Page2、如果要将用户登录信息保存在某个隐式对象中,请问选择哪种隐式对象进行保存比较适合?【参考答案】一般会将用