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

下载本文档

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

文档简介

JavaWeb基础测试题(含详细答案)适用人群:JavaWeb初学者、后端实习/初级开发面试、课堂考核考试时长:90分钟满分:100分一、单项选择题(共15题,每题2分,共30分)1.以下不属于JavaWeb三大组件的是()A.ServletB.FilterC.ListenerD.SpringMVC2.HttpServletRequest对象的主要作用是()A.响应客户端数据B.获取客户端请求数据C.操作服务器上下文D.管理会话3.下列关于Cookie和Session的说法,正确的是()A.Cookie存储在服务器端B.Session存储在客户端C.Session依赖Cookie实现会话跟踪D.Cookie不能设置过期时间4.Servlet生命周期的正确顺序是()A.初始化→实例化→服务→销毁B.实例化→初始化→服务→销毁C.服务→初始化→实例化→销毁D.实例化→服务→初始化→销毁5.下列哪个方法可以实现请求转发()A.response.sendRedirect()B.request.getRequestDispatcher().forward()C.response.forward()D.request.redirect()6.JSP中用于引入静态资源的指令是()A.pageB.includeC.taglibD.import7.过滤器Filter的执行时机是()A.客户端发起请求前B.请求到达Servlet之前和响应返回客户端之前C.Servlet执行完毕后D.服务器启动时8.下列属于客户端跳转的是()A.forwardB.includeC.sendRedirectD.以上都不是9.Session的默认过期时间是()A.10分钟B.30分钟C.1小时D.永久有效10.JSP内置对象中,作用域最大的是()A.pageContextB.requestC.sessionD.application11.下列关于GET和POST请求的说法,错误的是()A.GET请求参数拼接在URL后B.POST请求参数在请求体中C.GET请求安全性更高D.POST请求可以传输大数据12.web.xml文件的主要作用是()A.存储业务代码B.配置Web项目组件、拦截规则、参数等C.前端页面渲染D.数据库配置13.能够实现全局项目数据共享的内置对象是()A.sessionB.applicationC.requestD.page14.Servlet中处理GET请求的核心方法是()A.doPost()B.doGet()C.service()D.init()15.下列哪项不是JSP九大内置对象()A.outB.responseC.servletD.pageContext二、填空题(共10空,每空2分,共20分)1.JavaWeb中会话跟踪技术主要有_________和_________两种。2.Servlet中_________方法只会执行一次,用于初始化资源。3.请求转发的地址栏_________(会/不会)变化,重定向的地址栏_________(会/不会)变化。4.JSP的四种作用域从小到大依次是page、_________、_________、application。5.Filter过滤器的核心方法是_________。6.关闭浏览器后,_________(Cookie/Session)会立即失效。7.获取表单提交的单个参数的方法是request._________。三、简答题(共4题,每题8分,共32分)1.简述forward请求转发和sendRedirect重定向的区别?2.详细说说Cookie和Session的区别与各自优缺点?3.简述Servlet的完整生命周期?4.简述Filter过滤器的作用和常用使用场景?四、编程题(共1题,18分)需求:编写一个简单的登录Servlet功能,实现以下效果:1.接收前端表单提交的username和password参数;2.判断账号密码:username为admin,password为123456则登录成功;3.登录成功:将用户名存入Session,重定向到success.jsp;4.登录失败:请求转发到login.jsp,并提示“账号或密码错误”。要求:写出核心Servlet代码,无需导入包,代码规范、注释清晰。详细参考答案一、单项选择题答案1.D解析:JavaWeb原生三大组件为Servlet、Filter、Listener,SpringMVC是框架组件,不属于原生Web组件。2.B解析:HttpServletRequest用于接收、获取客户端所有请求数据;HttpServletResponse用于响应数据给客户端。3.C解析:Cookie存客户端,Session存服务器端,默认情况下Session通过Cookie存储sessionId实现会话跟踪。4.B解析:Servlet生命周期:服务器启动/首次访问实例化对象→调用init()初始化→调用service()处理请求→服务器关闭销毁。5.B解析:getRequestDispatcher().forward()是请求转发,sendRedirect()是重定向。6.B解析:include指令用于引入静态页面、资源文件;page配置页面属性,taglib引入标签库。7.B解析:过滤器拦截所有符合规则的请求,在Servlet处理前预处理,响应返回客户端前后处理。8.C解析:sendRedirect是客户端两次请求,地址栏变化,属于客户端跳转;forward是服务器内部跳转。9.B解析:Tomcat默认Session过期时间为30分钟,无请求访问则自动失效。10.D解析:作用域:application>session>request>page。11.C解析:GET参数暴露在地址栏,安全性极差;POST参数在请求体,相对安全,且支持大数据传输。12.B解析:web.xml是传统JavaWeb项目核心配置文件,用于注册Servlet、过滤器、配置拦截路径、全局参数等。13.B解析:application作用域为整个项目,所有用户共享数据;session是单个用户会话共享。14.B解析:doGet()处理GET请求,doPost()处理POST请求,service()统一分发请求。15.C解析:JSP九大内置对象:out、request、response、session、application、page、pageContext、exception、config。二、填空题答案1.Cookie、Session2.init()3.不会、会4.request、session5.doFilter()6.Session7.getParameter()三、简答题答案1.forward请求转发和sendRedirect重定向的区别?(1)跳转主体:forward是服务器内部跳转,由服务器直接转发请求;sendRedirect是客户端跳转,服务器返回指令,客户端重新发起新请求。(2)地址栏:转发地址栏URL不变,重定向地址栏会更新为目标地址。(3)请求次数:转发是1次请求,共享request域数据;重定向是2次独立请求,无法共享request数据。(4)跳转范围:转发只能跳转当前项目内资源;重定向可以跳转外部网站、跨项目资源。(5)使用场景:转发用于内部页面跳转、携带请求数据;重定向用于防止表单重复提交、跳转外部资源。2.Cookie和Session的区别与各自优缺点?区别:(1)存储位置:Cookie存储在客户端浏览器,Session存储在服务器内存中。(2)数据大小:Cookie存储数据量小,一般不超过4KB;Session无严格大小限制。(3)安全性:Cookie可被客户端查看、篡改,安全性低;Session数据存在服务器,安全性更高。(4)生命周期:Cookie可手动设置永久有效期;Session浏览器关闭或超时即失效。(5)依赖关系:Session依赖Cookie存储sessionId,Cookie完全独立。优缺点:Cookie优点:减轻服务器压力、无需占用服务器资源;缺点:不安全、数据量小、易被篡改。Session优点:安全、数据存储灵活、支持复杂数据类型;缺点:占用服务器内存,用户量大时会影响服务器性能。3.简述Servlet的完整生命周期?Servlet生命周期分为四个核心阶段,由Tomcat服务器全权管理:(1)实例化:服务器启动或客户端首次请求该Servlet时,服务器通过反射创建Servlet实例对象,全局只创建一个实例。(2)初始化:实例创建完成后,服务器调用init()方法,仅执行一次,用于初始化配置、加载资源、连接数据库等前置操作。(3)服务处理:每次客户端发起请求,服务器都会调用service()方法,根据请求方式分发到doGet()/doPost()方法处理业务逻辑,可执行多次。(4)销毁:服务器关闭、项目卸载或Servlet超时销毁时,调用destroy()方法,仅执行一次,用于释放资源、关闭连接等收尾操作。4.简述Filter过滤器的作用和常用使用场景?核心作用:Filter是JavaWeb拦截器组件,可在请求到达目标资源前、响应返回客户端后,对请求和响应进行统一预处理、拦截、增强,实现代码解耦。常用场景:(1)统一编码设置:拦截所有请求,统一设置request、response编码为UTF-8,解决乱码问题;(2)登录权限拦截:未登录用户禁止访问后台页面,拦截请求并重定向到登录页;(3)敏感词过滤:对前端提交的参数进行敏感词替换、拦截;(4)请求日志记录:统一记录请求地址、请求方式、访问时间、客户端IP等日志信息;(5)跨域处理:统一配置跨域响应头,解决前后端跨域问题。四、编程题参考答案java

publicclassLoginServletextendsHttpServlet{

@Override

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

//1.设置全局编码,解决参数乱码

request.setCharacterEncoding("UTF-8");

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

//2.获取前端表单参数

Stringusername=request.getParameter("username");

Stringpassword=request.getParameter("password");

//3.校验账号密码

if("admin".equals(username)&&"123456".equals(password)){

//登录成功:存入Session,重定向到成功页面

HttpSessionsession=request.getSession();

session.setAttribute("username",username);

response.sendRedirect("success.jsp");

}else{

//登录失败:存入提示信息,请求转发回登录页

request.setAttribute("msg","账号或密码错误");

request.getRequestDispatcher("login.jsp").forward(request,response);

}

}

//适配get请求,统一调用post方法

@Override

prote

温馨提示

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

最新文档

评论

0/150

提交评论