JavaWeb 基础测试题(含详细答案)_第1页
JavaWeb 基础测试题(含详细答案)_第2页
JavaWeb 基础测试题(含详细答案)_第3页
JavaWeb 基础测试题(含详细答案)_第4页
JavaWeb 基础测试题(含详细答案)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaWeb基础测试题(含详细答案)适用范围:JavaWeb零基础入门、期末考核、实习生笔试考试时长:90分钟满分:100分一、单项选择题(共15题,每题2分,共30分)1.以下不属于JavaWeb三大组件的是()A.Servlet  B.Filter  C.Listener  D.Spring2.HTTP请求中,用于提交表单数据、参数不可见的请求方式是()A.GET  B.POST  C.PUT  D.DELETE3.Servlet的生命周期中,只会执行一次的方法是()A.init()  B.service()  C.doGet()  D.destroy()4.在JSP中,用于定义全局变量和方法的脚本元素是()A.<%%>  B.<%=%>  C.<%!%>  D.<%----%>5.下列关于Session的说法错误的是()A.Session服务端存储数据  B.Session默认过期时间30分钟C.关闭浏览器Session立即销毁  D.Session依赖Cookie实现6.Filter过滤器的执行顺序由什么决定()A.类名顺序  B.部署配置顺序  C.方法顺序  D.随机顺序7.JSP内置对象中,代表页面输出流的是()A.out  B.response  C.request  D.pageContext8.转发(forward)和重定向(redirect)的区别,说法正确的是()A.重定向地址栏不变  B.转发是客户端跳转C.转发可以共享request数据  D.转发可以跳转到外部网站9.下列哪个状态码代表请求资源不存在()A.200  B.302  C.404  D.50010.Cookie的最大特点是()A.服务端存储  B.客户端存储  C.数据永久保存  D.无法删除11.Servlet中处理GET请求的核心方法是()A.doPost()  B.doGet()  C.execute()  D.run()12.下列不属于JSP四大作用域的是()A.page  B.request  C.session  D.application  E.context13.web.xml文件的主要作用是()A.页面展示  B.项目配置部署  C.数据库连接  D.业务逻辑处理14.EL表达式的主要作用是()A.执行Java代码  B.快速获取域对象数据  C.定义方法  D.处理请求15.JSTL核心标签库中,用于循环遍历的标签是()A.<c:if>  B.<c:forEach>  C.<c:set>  D.<c:out>二、填空题(共10空,每空2分,共20分)1.JavaWeb项目中,________目录用于存放静态资源(css、js、图片)。2.HTTP协议默认端口号是________,Tomcat默认端口号是________。3.JSP四大作用域范围从小到大依次是:page、________、session、________。4.Servlet中,________方法可以处理所有类型的HTTP请求。5.重定向的跳转路径是________端跳转,转发是________端跳转。6.清除Session的方法是________。7.EL表达式书写格式为________。三、简答题(共4题,每题5分,共20分)1.简述Servlet的完整生命周期。2.说说GET和POST请求的主要区别。3.简述转发(forward)和重定向(redirect)的核心区别。4.简述Cookie和Session的区别与联系。四、代码题(共2题,每题15分,共30分)1.编写一个简单的Servlet,实现接收前端用户名和密码参数,并在控制台和页面输出数据。2.编写JSP+EL表达式代码,在页面展示request域中存储的用户姓名、年龄数据。参考答案及详细解析一、单项选择题答案1.D 解析:JavaWeb三大核心组件为Servlet、Filter(过滤器)、Listener(监听器),Spring是独立的框架,不属于原生JavaWeb组件。2.B 解析:GET参数拼接在地址栏,可见且长度有限;POST参数封装在请求体中,隐藏传输,适合提交表单。3.A 解析:init()方法在Servlet第一次被访问时执行一次,用于初始化资源;service/doGet每次请求都会执行;destroy()项目关闭时执行一次。4.C 解析:<%!%>声明脚本,用于定义成员变量、全局方法;<%%>执行代码片段;<%=%>输出数据;<%----%>注释。5.C 解析:关闭浏览器只会销毁客户端的Cookie,服务端的Session不会立即销毁,会等待默认过期时间或手动销毁。6.B 解析:Filter的执行顺序由web.xml配置顺序或注解的order优先级决定,和类名、方法无关。7.A 解析:out对象用于JSP页面输出内容,直接向客户端打印文本。8.C 解析:转发是服务器内部跳转,地址栏不变,可共享request数据;重定向是客户端两次请求,地址栏改变,无法共享request数据,可跳转外部链接。9.C 解析:200请求成功,302临时重定向,404资源不存在,500服务器内部异常。10.B 解析:Cookie是客户端浏览器存储数据,数据不安全、有大小限制、可手动清除。11.B 解析:Servlet规范中,doGet()专门处理GET请求,doPost()处理POST请求。12.E 解析:JSP四大作用域:page(页面级)、request(请求级)、session(会话级)、application(项目级),无context作用域。13.B 解析:web.xml是JavaWeb项目核心部署配置文件,用于注册Servlet、Filter、配置参数、设置欢迎页等。14.B 解析:EL表达式主要用于简化JSP页面代码,快速从四大作用域中获取数据,避免繁琐的Java脚本。15.B 解析:<c:forEach>用于遍历集合、数组;<c:if>条件判断;<c:set>存值;<c:out>输出数据。二、填空题答案1.web(webapp)2.80、80803.request、application4.service()5.客户、服务6.invalidate()7.${}三、简答题详细答案1.Servlet完整生命周期(1)加载实例化:服务器启动或首次访问Servlet时,容器加载Servlet类并创建实例对象,仅执行一次;(2)初始化:调用init()方法,完成资源初始化、参数加载,仅执行一次;(3)服务处理:每次客户端请求到来,容器调用service()方法,根据请求方式分发doGet/doPost处理业务,请求一次执行一次;(4)销毁:项目关闭、服务器停止或Servlet被移除时,调用destroy()方法,释放占用资源,仅执行一次。2.GET和POST请求的主要区别(1)参数位置:GET参数拼接在URL地址栏,POST参数封装在请求体中;(2)安全性:GET参数公开可见,安全性低;POST参数隐藏,安全性更高;(3)数据大小:GET有长度限制,无法传输大量数据;POST无明确长度限制,可传输大文本、文件;(4)缓存特性:GET请求会被浏览器缓存,POST默认不缓存;(5)书签保存:GET可保存为书签,POST无法保存。3.转发和重定向的核心区别(1)跳转主体:转发是服务器内部跳转,重定向是客户端浏览器跳转;(2)地址栏变化:转发地址栏URL不变,重定向地址栏更新为新路径;(3)数据共享:转发基于一次请求,可共享request域数据;重定向是两次独立请求,无法共享;(4)跳转范围:转发只能跳转当前项目内资源,重定向可跳转外部网站资源;(5)请求次数:转发1次请求,重定向2次请求。4.Cookie和Session的区别与联系联系:二者都是Web会话跟踪技术,用于记录用户状态、保存会话数据,Session底层默认依赖Cookie存储SessionID实现会话匹配。区别:(1)存储位置:Cookie存储在客户端浏览器,Session存储在服务端;(2)安全性:Cookie易被篡改、窃取,安全性差;Session数据服务端存储,安全性更高;(3)数据限制:Cookie有大小和数量限制,仅支持字符串;Session无大小限制,可存储任意对象;(4)生命周期:Cookie可手动设置永久有效,Session默认30分钟过期,关闭浏览器会话失效。四、代码题详细答案1.接收表单参数的Servlet代码java

importjavax.servlet.ServletException;

importjavax.servlet.annotation.WebServlet;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importjava.io.IOException;

//注解注册Servlet,访问路径:/loginServlet

@WebServlet("/loginServlet")

publicclassLoginServletextendsHttpServlet{

@Override

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

//设置请求编码,解决中文乱码

request.setCharacterEncoding("UTF-8");

//设置响应编码

response.setContentType("text/html;charset=UTF-8");

//获取前端传入参数

Stringusername=request.getParameter("username");

Stringpassword=request.getParameter("password");

//控制台输出数据

System.out.println("用户名:"+username);

System.out.println("密码:"+password);

//页面输出数据

response.getWriter().write("接收成功<br/>");

response.getWriter().write("用户名:"+username+"<br/>");

response.getWriter().write("密码:"+password);

}

//适配POST请求,直接调用doGet方法复用逻辑

@Override

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论