版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP程序设计期末试题及详细答案适用专业:计算机相关专业考试时长:90分钟满分:100分考试说明:闭卷考试,答案书写规范、逻辑清晰,编程题可结合核心代码作答一、单项选择题(共15题,每题2分,共30分)1.下列关于JSP的说法,正确的是()A.JSP是一种静态网页开发技术B.JSP全称是JavaServerPage,基于Java语言开发C.JSP只能运行在Windows服务器系统D.JSP无法嵌套HTML代码2.JSP页面的后缀名是()A..javaB..htmlC..jspD..xml3.下列不属于JSP内置对象的是()A.requestB.sessionC.scannerD.application4.用于获取客户端表单提交数据的内置对象是()A.responseB.requestC.outD.page5.session对象的有效作用范围是()A.整个服务器运行周期B.单个用户的一次会话C.单个页面访问过程D.所有用户共享访问6.JSP中用于输出内容到页面的内置对象是()A.outB.printC.writeD.echo7.下列JSP脚本标识中,用于定义Java方法的是()A.<%%>B.<%=%>C.<%!%>D.<%@%>8.页面指令page中,用于设置页面编码格式的属性是()A.languageB.contentTypeC.importD.session9.实现页面重定向跳转的方法是()A.request.getRequestDispatcher()B.response.sendRedirect()C.pageContext.forward()D.application.redirect()10.application对象的特点是()A.每个用户独立拥有一个application对象B.所有用户共享同一个application对象C.页面刷新后对象立即销毁D.仅能存储字符串类型数据11.JSP中EL表达式的起始符号是()A.${}B.<%%>C.#{}D.!{}12.下列关于请求转发与重定向的区别,说法错误的是()A.请求转发地址栏不变化,重定向地址栏会变化B.请求转发是服务器内部跳转,重定向是客户端二次请求C.二者都可以传递request作用域数据D.请求转发跳转效率高于重定向13.用于手动销毁当前用户会话的方法是()A.session.clear()B.session.invalidate()C.session.destroy()D.session.remove()14.JSP中引入外部Java类的指令属性是()A.includeB.importC.extendsD.plugin15.静态包含指令的语法格式是()A.<%@includefile=""%>B.<%includepage=""%>C.<jsp:includesrc=""/>D.<jsp:importfile=""/>二、填空题(共10空,每空2分,共20分)1.JSP的三大指令分别是page指令、__________、__________。2.JSP九大内置对象中,代表页面上下文的对象是__________。3.表单提交的两种常用方式分别是GET和__________。4.JSP页面中,<%=变量%>的作用是__________。5.作用域从小到大依次为:page、__________、__________、application。6.动态包含的标签是__________,可以实现动态页面引入。7.获取session对象中存储数据的方法是__________。8.page指令中,__________属性用于设置页面是否开启会话支持。三、简答题(共4题,每题5分,共20分)1.简述JSP的工作原理。2.简述GET和POST表单提交方式的主要区别。3.简述page、request、session、application四大作用域的生命周期。4.简述静态包含和动态包含的区别。四、程序阅读题(共2题,每题5分,共10分)1.阅读以下JSP代码,写出页面输出结果。jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"%>
<%!intnum=10;%>
<%num+=5;%>
<%="数值为:"+num%>2.分析以下代码,说明跳转方式及数据能否正常传递,并解释原因。jsp
<%
request.setAttribute("name","张三");
response.sendRedirect("test.jsp");
%>五、编程题(共2题,每题10分,共20分)1.编写一个JSP页面,实现简单的用户登录功能:页面包含用户名、密码输入框,提交表单后获取表单数据,判断用户名为admin、密码为123456则输出“登录成功”,否则输出“用户名或密码错误”。2.编写JSP代码,实现统计网站当前在线人数的功能(使用application和session对象实现)。详细参考答案一、单项选择题答案1.B2.C3.C4.B5.B6.A7.C8.B9.B10.B11.A12.C13.B14.B15.A选择题核心解析:1.JSP是动态网页技术,跨平台运行,可嵌套HTML;3.scanner是Java工具类,非JSP内置对象;7.<%!%>用于声明成员变量和方法,<%%>为程序片段,<%=%>为输出表达式;12.重定向是客户端新请求,会清空原request作用域数据,无法传递;13.session.invalidate()为会话销毁核心方法。二、填空题答案1.include指令、taglib指令(顺序可互换)2.pageContext3.POST4.向页面输出变量或表达式的值5.request、session6.<jsp:include>7.getAttribute()8.session三、简答题答案1.JSP工作原理(1)客户端浏览器向服务器发送JSP页面访问请求;(2)服务器的JSP引擎接收请求,首次访问该JSP页面时,将JSP文件编译为对应的JavaServlet源文件;(3)编译后的Servlet文件被服务器加载、实例化并执行;(4)Servlet执行后生成纯HTML静态页面,返回给客户端浏览器;(5)后续再次访问该页面时,若页面未修改,直接执行已编译的Servlet,无需重新编译,提升访问效率。2.GET和POST提交方式区别(1)数据传输位置:GET方式数据拼接在URL地址栏后,POST方式数据封装在请求体中;(2)安全性:GET数据公开可见,安全性低;POST数据隐藏,安全性更高;(3)数据大小:GET有URL长度限制,无法传输大数据;POST无明确大小限制,可传输大量数据、文件;(4)缓存特性:GET请求会被浏览器缓存,POST请求默认不缓存;(5)书签保存:GET请求可保存为书签,POST无法保存。3.四大作用域生命周期(1)page(页面作用域):仅在当前JSP页面有效,页面刷新、跳转后数据立即销毁;(2)request(请求作用域):一次客户端请求有效,请求处理完毕、页面跳转后数据销毁;(3)session(会话作用域):用户从打开浏览器访问网站开始,到关闭浏览器或会话超时、手动销毁为止,全程有效;(4)application(应用作用域):服务器启动后创建,服务器关闭后销毁,所有用户共享该作用域数据。4.静态包含和动态包含的区别(1)语法不同:静态包含为<%@includefile=""%>,动态包含为<jsp:includepage=""/>;(2)编译方式不同:静态包含是编译阶段将被包含页面代码整体合并到主页面,只生成一个Servlet文件;动态包含是运行阶段单独加载被包含页面,生成多个独立Servlet文件;(3)适用场景不同:静态包含适合包含静态资源(HTML、文本),执行效率高;动态包含适合包含动态页面,可传递参数、实现动态加载;(4)变量冲突:静态包含容易出现变量名重复冲突,动态包含不会产生变量冲突问题。四、程序阅读题答案1.输出结果:数值为:15解析:<%!%>声明全局变量num初始值为10,<%%>代码块执行累加运算,num值变为15,最后通过输出表达式打印结果。2.答案解析该跳转方式为重定向跳转,request作用域中的name数据无法正常传递。原因:重定向是客户端发起的二次全新请求,原请求的request对象会被销毁,作用域数据随之清空,因此目标页面无法获取本次request存储的数据。五、编程题参考答案1.用户登录功能完整代码jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<formaction=""method="post">
用户名:<inputtype="text"name="username"><br/>
密码:<inputtype="password"name="pwd"><br/>
<inputtype="submit"value="登录">
</form>
<%
//获取表单提交数据
Stringusername=request.getParameter("username");
Stringpwd=request.getParameter("pwd");
//非空判断,避免首次加载报错
if(username!=null&&pwd!=null){
if("admin".equals(username)&&"123456".equals(pwd)){
out.print("<h3>登录成功!</h3>");
}else{
out.print("<h3>用户名或密码错误!</h3>");
}
}
%>
</body>
</html>2.在线人数统计完整代码jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"%>
<%@pageimport="java.util.*"%>
<html>
<head>
<title>在线人数统计</title>
</head>
<body>
<%
//获取application中的在线用户集合
Set<String>onlineUser=(Set<String>)application.getAttribute("onlineUser");
//首次访问初始化集合
if(onlineUser==null){
onlineUser=newHashSet<>();
application.setAttribute("onlineUser",onlineUser);
}
//获取当前用户sessionID作为唯一标识
StringsessionId=session.getId();
//将当前用户加入集合
onlineUser.add(sessionId);
//监听会话销毁,用户离线时移除用户
session.setAttribute("count",newObject(){
//会
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于延迟发货致歉信5篇
- 2026年新市场开拓项目成果通报函4篇
- 重大版高中英语必修第二册期中模拟卷含听力2026-2027学年
- 供应链数据分析绩效考核表
- 2026年和县统一战线服务中心公开选调工作人员5名笔试参考题库及答案解析
- 网络安全培训教材与实战演练方案
- 2026年泰安市烟草专卖局人员招聘考试模拟试题及答案
- 智慧园区建筑节能改造实施步骤
- 2026湛江中心人民医院协助邦芒服务外包有限公司招聘劳务派遣人员考试备考试题及答案解析
- 2027年上大附中实验学校师资招聘(第一期)笔试备考题库及答案解析
- 2026年高级维修电工考试题库及答案
- 通信工程施工企业安全生产管理人员知识考核题库及答案
- 亚急性甲状腺炎诊疗专家共识(2025版)
- 4.1 分数的应用(一) 课件 2026-2027学年六年级上册数学北师大版
- 2026年超重和肥胖管理指南课件
- 河北省石家庄市外国语学校2025-2026学年九年级上学期一阶学业水平测试道德与法治试卷(含答案)
- 2026轨道交通装备国产化替代进程与市场机会报告
- 2026新教材语文 统编版语文五年级上册语文园地四 教学课件
- 2026年全国硕士研究生招生考试《312心理学专业基础综合》试题
- 2026新人教版五年级上册数学全册一课一练50天含答案解析小学同步练习
- 2026年国防科大博士考试试题及答案
评论
0/150
提交评论