一、选择题
JavaWeb应用程序的三层架构通常不包括以下哪一层?
参考答案:
D
💡 解析:三层架构通常指表示层、业务逻辑层和数据访问层(持久层)。网络传输层属于OSI或TCP/IP模型。
点击评论后加载...
登录 后可参与评论
关于Servlet生命周期,以下说法错误的是?
参考答案:
C
💡 解析:destroy()方法是在Servlet被Web容器正常卸载或服务器关闭时主动调用的,而不是由垃圾回收器触发。
点击评论后加载...
登录 后可参与评论
在web.xml中配置Servlet时,哪个标签用于指定Servlet的类名?
参考答案:
B
💡 解析:<servlet-class>标签用于指定Servlet的完全限定类名(包名+类名)。
点击评论后加载...
登录 后可参与评论
下列哪个方法不是HttpServlet类中的?
参考答案:
C
💡 解析:HttpServlet中处理请求的核心方法是service(),并没有doService()方法。
点击评论后加载...
登录 后可参与评论
JSP最终会被转换为?
参考答案:
A
💡 解析:JSP在第一次被访问时会被Web容器(如Tomcat)翻译为一个继承自Servlet的Java类,然后编译为字节码。
点击评论后加载...
登录 后可参与评论
下列哪个不是JSP的隐式对象?
参考答案:
D
💡 解析:JSP有9大隐式(内置)对象,不包含cookie。获取cookie通常通过request.getCookies()。
点击评论后加载...
登录 后可参与评论
JSP中的<%@ page %>指令的作用是?
参考答案:
A
💡 解析:page指令主要用于定义JSP页面的全局属性,例如contentType、pageEncoding等。
点击评论后加载...
登录 后可参与评论
下列哪种不是JavaWeb中会话跟踪的技术?
参考答案:
D
💡 解析:Ajax是一种前端异步请求技术,不属于HTTP会话跟踪技术(会话跟踪包含Cookie, Session, URL重写, 隐藏表单域)。
点击评论后加载...
登录 后可参与评论
设置Cookie的有效期使用哪个方法?
参考答案:
A
💡 解析:使用 setMaxAge(int expiry) 方法可以设置 Cookie 的有效存活时间(单位为秒)。
点击评论后加载...
登录 后可参与评论
关于Filter,以下说法错误的是?
参考答案:
C
💡 解析:过滤器(Filter)用于拦截和预处理请求,但不能替代Servlet去处理核心业务逻辑并生成完整响应。
点击评论后加载...
登录 后可参与评论
过滤器链的执行顺序由什么决定?
参考答案:
A
💡 解析:在基于web.xml的配置中,过滤器的执行顺序由<filter-mapping>标签出现的先后顺序决定。
点击评论后加载...
登录 后可参与评论
下列哪个不是MVC模式的组成部分?
参考答案:
D
💡 解析:MVC架构包括Model(模型)、View(视图)、Controller(控制器)。Service属于业务逻辑层,不在MVC基础定义内。
点击评论后加载...
登录 后可参与评论
关于Spring MVC,以下说法错误的是?
参考答案:
D
💡 解析:在Spring MVC中,模型数据还可以通过Model、ModelMap、@ModelAttribute等多种方式传递,不局限于ModelAndView。
点击评论后加载...
登录 后可参与评论
Java Web开发的核心技术是?
参考答案:
B
💡 解析:Servlet是Java Web开发的最核心和基础的技术,JSP在底层也是被编译成Servlet执行的。
点击评论后加载...
登录 后可参与评论
Spring框架的核心是什么?
参考答案:
B
💡 解析:Spring框架的两大核心是IoC(控制反转)和AOP(面向切面编程),其中IoC(依赖注入)是最基础的核心容器机制。
点击评论后加载...
登录 后可参与评论
Tomcat服务器是基于什么实现的?
参考答案:
D
💡 解析:Tomcat是一个基于Java语言编写的Web服务器和Servlet容器,它必须运行在Java虚拟机(JVM)之上。
点击评论后加载...
登录 后可参与评论
以下哪一项不是Spring框架的模块?
参考答案:
B
💡 解析:Spring Boot和Spring Cloud是基于Spring构建的独立子项目/框架,严格来说不属于Spring Framework的基础模块。
点击评论后加载...
登录 后可参与评论
Hibernate框架的主要用途是什么?
参考答案:
B
💡 解析:Hibernate是一个开源的对象关系映射(ORM)框架,主要用于简化Java应用程序对数据库的持久化操作。
点击评论后加载...
登录 后可参与评论
使用Servlet时,哪一个方法用于处理客户端的POST请求?
参考答案:
A
💡 解析:doPost() 方法专门用于处理客户端发送的 HTTP POST 请求。
点击评论后加载...
登录 后可参与评论
在Spring MVC中,哪个注解用于定义控制器?
参考答案:
A
💡 解析:@Controller 注解用于标识一个类是 Spring MVC 的控制器(Controller)。
点击评论后加载...
登录 后可参与评论
以下哪种HTTP方法通常用于更新数据?
参考答案:
C
💡 解析:在 RESTful 风格中,GET 用于查询,POST 用于新增,PUT 通常用于更新数据,DELETE 用于删除数据。
点击评论后加载...
登录 后可参与评论
在Servlet中,response对象的setContentType方法的作用是什么?
参考答案:
A
💡 解析:setContentType() 方法用于设置发送到客户端响应体的 MIME 类型,如 'text/html'。
点击评论后加载...
登录 后可参与评论
在Servlet中,getParameter()方法用于?
参考答案:
C
💡 解析:request.getParameter() 是获取客户端 HTTP 请求参数(表单提交或 URL 拼接的参数)的最常用方法。
点击评论后加载...
登录 后可参与评论
在Java Web开发中,哪个注解用于将类标记为Spring管理的Bean?
参考答案:
C
💡 解析:@Component 是最基础的组件注解,用于将普通的 Java 类标记为 Spring 容器管理的 Bean。
点击评论后加载...
登录 后可参与评论
以下哪种方式可以实现Spring框架的依赖注入( )?
参考答案:
D
💡 解析:Spring 提供了多种依赖注入的方式,包括构造函数注入、Setter 方法注入以及字段注入。
点击评论后加载...
登录 后可参与评论
在Servlet中,service方法的作用是什么?
参考答案:
C
💡 解析:service() 是 Servlet 的核心方法,每当有请求到来时,Servlet 容器会调用该方法来处理请求并生成响应。
点击评论后加载...
登录 后可参与评论
以下哪个是Spring Boot的优点?
参考答案:
D
💡 解析:Spring Boot 倡导“约定优于配置”,提供了自动配置、内嵌服务器(如 Tomcat)等特性,大大简化了开发和部署。
点击评论后加载...
登录 后可参与评论
Tomcat的工作方式是?
参考答案:
B
💡 解析:Tomcat 最主要的角色是一个 Web 容器(Servlet 容器),核心工作就是运行 Servlet 和 JSP。
点击评论后加载...
登录 后可参与评论
在Spring MVC中,哪个注解用于定义一个请求映射?
参考答案:
A
💡 解析:@RequestMapping 用于将特定的 HTTP 请求路径映射到 Controller 的处理方法上。
点击评论后加载...
登录 后可参与评论
Spring MVC中的DispatcherServlet的作用是什么?
参考答案:
A
💡 解析:DispatcherServlet 是 Spring MVC 的前端控制器,负责接收所有请求,并将请求分发给对应的 Handler(控制器)处理。
点击评论后加载...
登录 后可参与评论
Servlet生命周期中的初始化方法是?
参考答案:
C
💡 解析:init() 方法在 Servlet 实例化后由 Web 容器调用,主要用于完成 Servlet 的初始化工作。
点击评论后加载...
登录 后可参与评论
在Spring中,@Autowired注解的作用是?
参考答案:
A
💡 解析:@Autowired 是 Spring 提供的一个注解,用于按类型自动装配(注入)依赖的 Bean。
点击评论后加载...
登录 后可参与评论
在JSP页面中,哪种标签用于输出动态数据?
参考答案:
C
💡 解析:<%= %> 是 JSP 的表达式标签,用于直接输出 Java 变量或表达式的值到页面上。
点击评论后加载...
登录 后可参与评论
在JSTL中,<c:out>标签的作用是?
参考答案:
B
💡 解析:<c:out> 用于输出数据,并且默认会将特殊字符(如 <, >)进行 HTML 转义,防止 XSS 攻击。
点击评论后加载...
登录 后可参与评论
在JSTL中,<c:forEach>标签用于什么功能?
参考答案:
A
💡 解析:<c:forEach> 是 JSTL 中的迭代标签,常用于遍历 List、数组或 Map 等集合。
点击评论后加载...
登录 后可参与评论
在JSTL中,<c:choose>标签的作用是什么?
参考答案:
B
💡 解析:<c:choose> 结合 <c:when> 和 <c:otherwise> 一起使用,相当于 Java 中的 switch 语句,用于多重条件分支。
点击评论后加载...
登录 后可参与评论
在EL中,${param.name}用于获取什么类型的参数?
参考答案:
A
💡 解析:param 是 EL 的隐式对象,用于获取 HTTP 请求中携带的参数,等价于 request.getParameter("name")。
点击评论后加载...
登录 后可参与评论
在JSTL中,<c:set>标签用于?
参考答案:
C
💡 解析:<c:set> 用于在指定的 JSP 作用域(如 page, request 等)中设置或修改变量的值。
点击评论后加载...
登录 后可参与评论
在EL中,${sessionScope.attribute}的作用是?
参考答案:
A
💡 解析:sessionScope 是 EL 的隐式对象,明确指代从 session 作用域中查找数据。
点击评论后加载...
登录 后可参与评论
在三层架构中,哪个层次负责实现核心业务逻辑并向表示层提供必要的数据处理?
参考答案:
B
💡 解析:业务逻辑层(Service)承上启下,负责核心的业务规则实现和逻辑判断。
点击评论后加载...
登录 后可参与评论
在 Servlet 的生命周期中,service()方法被调用的时机是?
参考答案:
A
💡 解析:只要客户端发出请求被映射到该 Servlet,容器就会调用一次 service() 方法进行响应。
点击评论后加载...
登录 后可参与评论
在JSTL中,<c:import>标签的作用是?
参考答案:
A
💡 解析:<c:import> 类似于 JSP 的 include,但功能更强,可以导入项目内或甚至外部 URL 的页面资源。
点击评论后加载...
登录 后可参与评论
以下哪个EL表达式用于获取当前页面的上下文路径?
参考答案:
B
💡 解析:pageContext 是 EL 唯一的作用域类隐式对象,通过它可以逐层访问到 request,进而拿到 contextPath(上下文路径)。
点击评论后加载...
登录 后可参与评论
在JSTL中,<c:when>标签的作用是?
参考答案:
C
💡 解析:<c:when> 必须嵌套在 <c:choose> 中使用,代表其中的一种条件分支(相当于 case)。
点击评论后加载...
登录 后可参与评论
在EL中,${cookie.name}用于获取什么?
参考答案:
C
💡 解析:cookie 是 EL 隐式对象,${cookie.name} 获取的是名称为 name 的 Cookie 对象。
点击评论后加载...
登录 后可参与评论
以下哪个EL表达式用于获取当前会话中的user属性?
参考答案:
A
💡 解析:明确指定 sessionScope,确保获取的变量一定是存放于会话 (session) 级别的。
点击评论后加载...
登录 后可参与评论
在JSP中,以下哪个指令用于指定页面的编码方式?
参考答案:
B
💡 解析:标准写法应为 <%@ page pageEncoding="UTF-8" %>,选项B最符合指定编码意图。
点击评论后加载...
登录 后可参与评论
在JSP中,以下哪个标签用于输出变量值?
参考答案:
C
💡 解析:<%= %> 为 JSP 表达式,可以将等号后的 Java 变量或表达式的值直接打印到页面。
点击评论后加载...
登录 后可参与评论
以下哪种方法用于在JSP中获取请求参数?
参考答案:
A
💡 解析:request 是 JSP 的内置对象,直接调用其 getParameter() 方法即可获取前端提交的参数。
点击评论后加载...
登录 后可参与评论
在JSP中,以下哪个标签用于包含其他JSP页面的内容?
参考答案:
A
💡 解析:<jsp:include> 为动态包含动作标签,常用于将公共页面引入当前页面。
点击评论后加载...
登录 后可参与评论
在JSP中,哪个标签用于定义一个JavaBean并在页面中使用?
参考答案:
B
💡 解析:<jsp:useBean> 用于在指定的范围内查找或实例化一个 JavaBean 对象。
点击评论后加载...
登录 后可参与评论
JSP中,<jsp:forward>标签用于什么?
参考答案:
A
💡 解析:<jsp:forward> 动作标签用于在服务器端将当前的请求转发给另一个资源。
点击评论后加载...
登录 后可参与评论
在JSP中,<jsp:setProperty>标签用于?
参考答案:
A
💡 解析:<jsp:setProperty> 通常与 <jsp:useBean> 配合使用,用于为 JavaBean 的属性赋值。
点击评论后加载...
登录 后可参与评论
JSP中的<%= %>和<%=out.print() %>的区别是什么?
参考答案:
B
💡 解析:<%= %> 内只能写表达式,底层编译时会被转换为 out.print()。
点击评论后加载...
登录 后可参与评论
以下哪个方法可以在JSP中获取当前会话ID?
参考答案:
B
💡 解析:在 JSP 中,session 是 9 大隐式对象之一,直接调用 session.getId() 来获取会话ID。
点击评论后加载...
登录 后可参与评论
JSP中的隐式对象request表示什么?
参考答案:
A
💡 解析:request 对象代表客户端的 HTTP 请求,它是 HttpServletRequest 类的实例。
点击评论后加载...
登录 后可参与评论
JSP中的<jsp:getProperty>标签的作用是?
参考答案:
A
💡 解析:<jsp:getProperty> 用于提取指定 JavaBean 的属性值并输出。
点击评论后加载...
登录 后可参与评论
在JSP中,<%@ page import="java.util.*" %>指令的作用是什么?
参考答案:
B
💡 解析:page 指令的 import 属性功能与 Java 中的 import 关键字相同。
点击评论后加载...
登录 后可参与评论
Servlet生命周期中的初始化方法是?
参考答案:
C
💡 解析:当 Web 容器第一次加载 Servlet 时,会调用一次 init() 方法进行初始化。
点击评论后加载...
登录 后可参与评论
HttpServletRequest 中如何获取客户端的 Cookie?
参考答案:
A
💡 解析:调用 request.getCookies() 会返回一个 Cookie 数组。
点击评论后加载...
登录 后可参与评论
以下哪个方法用于创建一个新的 Session 或获取当前的 Session?
参考答案:
D
💡 解析:request.getSession() 会获取当前session或在没有时创建一个新的 session。
点击评论后加载...
登录 后可参与评论
JSP中的<jsp:include>标签和<%@ include %>指令的区别是?
参考答案:
A
💡 解析:<%@ include %> 是静态包含;<jsp:include> 是动态包含。
点击评论后加载...
登录 后可参与评论
在JavaScript中,使用XMLHttpRequest对象发起请求时,哪个方法用于设置HTTP请求的方法和URL?
参考答案:
A
💡 解析:xhr.open(method, url, async) 方法用于初始化一个请求。
点击评论后加载...
登录 后可参与评论
在使用Ajax时,onreadystatechange事件的作用是什么?
参考答案:
B
💡 解析:只要 readyState 属性的值发生变化,就会触发 onreadystatechange 事件。
点击评论后加载...
登录 后可参与评论
在JavaScript中,使用XMLHttpRequest时,getResponseText()方法的作用是?
参考答案:
C
💡 解析:原生JS中为responseText属性,作用是获取响应的文本数据。
点击评论后加载...
登录 后可参与评论
在JavaScript中,如何使用XMLHttpRequest对象发送POST请求?
参考答案:
A
💡 解析:发送 POST 请求必须先用 open("POST", ...) 初始化,随后调用 send() 发出。
点击评论后加载...
登录 后可参与评论
在JavaScript中,如何发送一个包含数据的POST请求?
参考答案:
A
💡 解析:send(data) 方法可以接收字符串或 FormData 对象作为请求体发送。
点击评论后加载...
登录 后可参与评论
二、填空题
在MySQL中创建存储过程时需要使用______关键字和END关键字包裹SQL语句。
参考答案:
BEGIN
💡 解析:BEGIN 和 END 用于定义一个多行 SQL 语句的复合语句块。
点击评论后加载...
登录 后可参与评论
在JSP和Servlet中,可以使用______对象的print()方法向浏览器输出内容。
参考答案:
out
💡 解析:out 是 JSP 的内置对象;在 Servlet 中则是 response.getWriter()。
点击评论后加载...
登录 后可参与评论
request对象中的______方法可以通过传入参数名的方式获取对应的参数值。
参考答案:
getParameter
💡 解析:request.getParameter(String name) 是获取前端参数的最常用方法。
点击评论后加载...
登录 后可参与评论
通过调用application对象中的______方法可以在该对象中以键值对的形式存放一个参数。
参考答案:
setAttribute
💡 解析:四大作用域存取数据均使用 setAttribute() 和 getAttribute()。
点击评论后加载...
登录 后可参与评论
在Servlet中获取当前用户创建的session对象需要调用______对象的______方法。
参考答案:
request, getSession
💡 解析:通过 HttpServletRequest 对象的 getSession() 方法来获取 Session。
点击评论后加载...
登录 后可参与评论
session对象的______方法可以直接使当前session会话无效,并解除绑定到它上面的任何对象。
参考答案:
invalidate
💡 解析:invalidate() 方法用于销毁 Session。
点击评论后加载...
登录 后可参与评论
JSP动作标签中的<jsp:______ page=“index.jsp”/>标签可以直接从当前页面跳转至其他页面。
参考答案:
forward
💡 解析:<jsp:forward> 用于在服务器端进行请求转发。
点击评论后加载...
登录 后可参与评论
请将以下注解补完,使其可以完成Servlet声明的功能。
@______(name=“helloWorld”, value=“/hello-world”)
参考答案:
WebServlet
💡 解析:@WebServlet 是 Servlet 3.0 开始支持的注解。
点击评论后加载...
登录 后可参与评论
JSP指令标签中的useBean标签可以声明一个Bean对象,其中scope属性用于声明该对象的作用范围,可选值包括______、request、session、和application。
参考答案:
page
💡 解析:JSP 的四大作用范围是 page、request、session 和 application。
点击评论后加载...
登录 后可参与评论
Servlet类中用于初始化阶段调用的方法是______。
参考答案:
init
💡 解析:Servlet 生命周期包含 init()、service()、destroy()。
点击评论后加载...
登录 后可参与评论
在jsp页面中引入其他页面,可以通过<jsp:include ______=“header.html”/>标签,将指定的文件内容渲染在当前页面中。
参考答案:
page
💡 解析:<jsp:include> 标签的标准语法为 <jsp:include page="目标路径" />。
点击评论后加载...
登录 后可参与评论
阅读以下EL表达式中的三元运算符,写出页面上的输出结果:______
${ 5 > 3 ? "Yes" : "No" }
参考答案:
Yes
💡 解析:5 > 3 为 true,返回 "Yes"。
点击评论后加载...
登录 后可参与评论
为了防止执行SQL语句时存在SQL注入攻击,推荐使用______类来完成SQL语句的执行。
参考答案:
PreparedStatement
💡 解析:PreparedStatement 接口支持预编译 SQL 语句,能有效防止 SQL 注入。
点击评论后加载...
登录 后可参与评论
Servlet的生命周期方法包括init()、service()和______。
参考答案:
destroy()
💡 解析:destroy() 方法在 Servlet 被 Web 容器卸载时调用。
点击评论后加载...
登录 后可参与评论
阅读以下Servlet生命周期相关的伪代码。假设服务器启动后,某用户第一次在浏览器访问该Servlet,写出控制台的输出结果:______
public void init() throws ServletException { System.out.print("A"); }
protected void doGet(...) { System.out.print("B"); }
public void destroy() { System.out.print("C"); }
参考答案:
AB
💡 解析:第一次访问时调用 init() 输出 A,接着调用 doGet() 输出 B。
点击评论后加载...
登录 后可参与评论
请补充以下代码,使其可以完成对数组arrays的遍历。
<c:forEach var="i" item="______">
<p>${ ____ }<p>
</c:forEach>
参考答案:
${arrays}, i
💡 解析:items 属性用于指定被遍历的集合,var 代表当前元素变量名。
点击评论后加载...
登录 后可参与评论
阅读以下关于EL输出变量的代码,其输出结果是:______
<% pageContext.setAttribute("name", "张三"); request.setAttribute("name", "李四"); session.setAttribute("name", "王五"); application.setAttribute("name", "赵六"); %>
${ name }
参考答案:
张三
💡 解析:EL 表达式按 page -> request -> session -> application 顺序查找。
点击评论后加载...
登录 后可参与评论
response对象的______方法可以将当前客户端的请求转到其他页面去。
参考答案:
sendRedirect
💡 解析:response.sendRedirect() 用于重定向。
点击评论后加载...
登录 后可参与评论
在请求过滤处理后,需要调用chain参数的______方法将请求向下传递给下一过滤器或者目标资源。
参考答案:
doFilter
💡 解析:FilterChain 对象的 doFilter(request, response) 方法进行放行。
点击评论后加载...
登录 后可参与评论
Spring MVC 中,用于处理 HTTP 请求的核心组件是______。
参考答案:
DispatcherServlet
💡 解析:DispatcherServlet 是 Spring MVC 的前端控制器。
点击评论后加载...
登录 后可参与评论
EL提供______和______两种运算符来存取数据。
参考答案:
. (点运算符), [] (中括号运算符)
💡 解析:点运算符和中括号运算符用于读取对象属性或集合元素。
点击评论后加载...
登录 后可参与评论
已知文件look.jsp的路径为c:/myjsp/inc,文件login.jsp的路径为c:/myjsp。若使用response的重定向方法由look.jsp跳转到时login.jsp中,则正确的写法为______。
参考答案:
response.sendRedirect("../login.jsp")
💡 解析:使用相对路径 "../" 返回上一级进行跳转。
点击评论后加载...
登录 后可参与评论
在JavaWeb中,Servlet是运行在服务器端的______程序,用于处理客户端请求并生成响应。
参考答案:
Java
💡 解析:Servlet 是基于 Java 语言编写的服务器端组件技术。
点击评论后加载...
登录 后可参与评论
用于封装服务器响应数据,如状态码和内容类型的内置对象是______。
参考答案:
response
💡 解析:HttpServletResponse 对象负责封装响应信息。
点击评论后加载...
登录 后可参与评论
在 JSP 页面中,用于设置页面属性和全局配置的指令是______指令。
参考答案:
page
💡 解析:<%@ page ... %> 指令用于设置全局配置。
点击评论后加载...
登录 后可参与评论
当getParameter()方法的参数部分指定的输入控件不存在时,该方法的返回值为______。
参考答案:
null
💡 解析:如果请求中没有该参数,返回 null。
点击评论后加载...
登录 后可参与评论
列表框的name属性值为"city",并且允许多选,若要一次读取所有的选中项并存放于数组str中,则对应的Java语句为______。
参考答案:
String[] str = request.getParameterValues("city");
💡 解析:获取同名多值参数必须使用 getParameterValues。
点击评论后加载...
登录 后可参与评论
阅读以下Servlet生命周期相关代码。假设服务器启动后,某用户第一次通过超链接访问该Servlet,写出控制台的输出结果:______
public void init() { System.out.print("1"); }
protected void doGet(...) { System.out.print("2"); }
protected void doPost(...) { System.out.print("3"); }
public void destroy() { System.out.print("4"); }
参考答案:
12
💡 解析:初始化输出1,超链接默认GET请求输出2。
点击评论后加载...
登录 后可参与评论
Spring配置文件的根元素是______,根元素最主要的子元素是<bean>,该子元素主要描述两个方面的问题,它们是唯一标识和实现类。
参考答案:
<beans>
💡 解析:基于 XML 的 Spring 配置的根标签是 <beans>。
点击评论后加载...
登录 后可参与评论
给定一个JSP程序源代码如下:
<jsp:include page = "test.jsp" flush = "true">
<jsp:param name = "location" value = "beijing"/>
</jsp:include>
在test.jsp中加入______代码片断可以输出参数location的值。
参考答案:
<%= request.getParameter("location") %>
💡 解析:也可以填写 EL 表达式 ${param.location}。
点击评论后加载...
登录 后可参与评论
用request对象的______方法读取Cookie。
参考答案:
getCookies()
💡 解析:request.getCookies() 返回 Cookie[] 数组。
点击评论后加载...
登录 后可参与评论
在 Ajax 请求中,使用XMLHttpRequest对象的______方法来发送请求。
参考答案:
send()
💡 解析:必须执行 send() 才能正式发出请求。
点击评论后加载...
登录 后可参与评论
Cookie和Session的主要区别在于:Cookie存储在客户端,而Session存储在______端。
参考答案:
服务
💡 解析:Session 寄存于服务器内存中。
点击评论后加载...
登录 后可参与评论
用response对象的______方法可以将Cookie对象写入客户端。
参考答案:
addCookie()
💡 解析:response.addCookie(cookieObject) 用于写入 Cookie。
点击评论后加载...
登录 后可参与评论
要删除某一个客户端的Cookie,必须使用setMaxAge()方法 ,并将Cookie的存在期限设为______。
参考答案:
0
💡 解析:setMaxAge(0) 让浏览器立即删除该 Cookie。
点击评论后加载...
登录 后可参与评论
如果要使用JavaBean设计一个网站计数器,那么该bean的scope应当设为______。
参考答案:
application
💡 解析:网站计数器需要被所有用户共享,需使用 application 作用域。
点击评论后加载...
登录 后可参与评论
JSTL中______标签的主要功能是用于循环控制,并且可以将集合中的成员循环浏览一遍,相当于Java中的遍历操作。
参考答案:
<c:forEach>
💡 解析:<c:forEach> 是 JSTL 的迭代遍历标签。
点击评论后加载...
登录 后可参与评论
Cookie 和 Session 的主要区别在于:Cookie 存储在______端,而 Session 存储在服务器端。
参考答案:
客户
💡 解析:Cookie 保存在用户的浏览器本地。
点击评论后加载...
登录 后可参与评论
在开发 HTTP 协议相关的Servlet时,通常继承______类,以便获得对 HTTP请求的支持。
参考答案:
HttpServlet
💡 解析:HttpServlet 提供了对 HTTP 协议特有方法的封装。
点击评论后加载...
登录 后可参与评论
在jsp页面中,可以用request对象的______方法来获取其他页面传递参数值的数组。
参考答案:
getParameterValues()
💡 解析:用于获取同名多值的参数数组。
点击评论后加载...
登录 后可参与评论
过滤器可以通过______方法来拦截 HTTP 请求和响应。
参考答案:
doFilter()
💡 解析:Filter 接口的核心方法 doFilter 执行拦截逻辑。
点击评论后加载...
登录 后可参与评论
在Ajax请求的回调函数中,判断请求是否成功需要检查readyState是否为______和status是否为200。
参考答案:
4
💡 解析:readyState = 4 意味着服务器响应已完全接收。
点击评论后加载...
登录 后可参与评论
过滤器对象使用______对象调用过滤器链中的下一个过滤器或者目标组件。
参考答案:
FilterChain
💡 解析:调用 FilterChain 实例的 chain.doFilter() 进行流转。
点击评论后加载...
登录 后可参与评论
阅读以下JavaBean类定义及JSP页面代码,写出页面上的最终输出结果______
<jsp:useBean id="stu01" class="Student" />
<c:set var="stu01" value="name=李四" scope="session"/>
${ stu01.getName() }
参考答案:
张三
💡 解析:EL 表达式优先从 page 作用域找到 Bean 对象,输出原始初始化的“张三”。
点击评论后加载...
登录 后可参与评论
阅读以下set.jsp页面与show.jsp页面的代码,给出i的值:______
// set.jsp
<% int i = 202; application.setAttribute("number", i++); %>
// show.jsp
<% int i = 0; i = (Integer) application.getAttribute("number"); %>
参考答案:
202
💡 解析:i++ 是后置自增,存入的是原值 202。
点击评论后加载...
登录 后可参与评论
三、判断题
JSP页面的框架是HTML语言,因此不需要Java环境即可运行。
参考答案:
错
💡 解析:JSP必须运行在支持Java的Web容器(如Tomcat)中,最终会被编译为Java Servlet类并执行。
点击评论后加载...
登录 后可参与评论
<%-- --%>是JSP技术提供的注释标签,在编译时会被JSP引擎处理形成HTML代码,最终在浏览器中查看文件源码时能够看到其中的注释内容。
参考答案:
错
💡 解析:这是JSP的隐藏注释,服务器在将其编译为Servlet时会直接忽略它,因此客户端浏览器源码中完全不可见。
点击评论后加载...
登录 后可参与评论
用户请求某个JSP页面后,服务器会生成对应的Java文件并编译。
参考答案:
对
💡 解析:JSP在第一次被访问时,容器会将其转换为对应的Servlet源码文件(.java)并编译成字节码(.class)。
点击评论后加载...
登录 后可参与评论
多个用户访问JSP页面时,页面中的Java代码块会被置于不同的线程中运行,因此不同用户在页面中的局部操作不会互相影响。
参考答案:
对
💡 解析:Servlet/JSP默认是单例多线程模式,每次客户端请求都会在一个独立的线程中处理,方法内的局部变量是线程安全的。
点击评论后加载...
登录 后可参与评论
cookie通常保存在客户端本地,可以用于保存用户的关键信息。
参考答案:
错
💡 解析:Cookie保存在客户端本地,容易被篡改或窃取,因此不应该用于保存密码等敏感关键信息。
点击评论后加载...
登录 后可参与评论
application对象在服务器程序启动后进行初始化并维护,因此用户无法访问该对象的内容。
参考答案:
错
💡 解析:application对象代表整个Web应用,所有访问该应用的用户都可以读取和共享其中的数据。
点击评论后加载...
登录 后可参与评论
session对象可以保存服务器与客户端的连接信息,但超出保存时长后就会被销毁。
参考答案:
对
💡 解析:Session具有超时机制,如果在指定的时间内没有任何交互,服务器会自动将其销毁。
点击评论后加载...
登录 后可参与评论
Java Bean中的get/set方法可以是公有的(public),也可以是私有的(private)。
参考答案:
错
💡 解析:根据JavaBean规范,其get/set方法必须是公有的(public)。
点击评论后加载...
登录 后可参与评论
Servlet类可以同时使用“web.xml配置”和“注解”两种声明方式,都会起效。
参考答案:
对
💡 解析:两者可以同时使用并起效,但需确保访问路径配置不会发生冲突。
点击评论后加载...
登录 后可参与评论
Servlet类在处于“请求处理”状态时,内部的service()方法会自动根据请求方式调用对应的doGet()或doPost()等方法,因此开发人员无需编写这部分的代码。
参考答案:
对
💡 解析:HttpServlet类默认实现了service()方法,它会自动分发并调用具体的doXXX方法。
点击评论后加载...
登录 后可参与评论
如果在EL中调用了一个未被声明的变量,会抛出异常并阻断中断网页渲染。
参考答案:
错
💡 解析:EL表达式具有很强的容错性,如果变量未定义或为null,它仅返回空字符串,不会抛出NullPointerException阻断渲染。
点击评论后加载...
登录 后可参与评论
JSTL标准库中<c:out>标签用于向浏览器输出指定内容,但当输出内容中包含HTML代码时,无法将HTML代码渲染到为页面中。
参考答案:
对
💡 解析:<c:out>默认会将特殊字符转义(escapeXml=true),因此HTML代码会被当成普通文本输出而不会被渲染。
点击评论后加载...
登录 后可参与评论
EL中的表达式不支持用“+”运算符拼接字符串。
参考答案:
对
💡 解析:在标准EL表达式中,“+”仅作为数学加法运算符,如果用它拼接字符串会导致类型转换错误。
点击评论后加载...
登录 后可参与评论
在EL中调用雇员类(Employee)对象的id属性可以通过 ${ employee["id"] } 语句完成。
参考答案:
对
💡 解析:EL表达式支持使用中括号操作符获取对象的属性值。
点击评论后加载...
登录 后可参与评论
在EL中,想要将字符串常量“学号”与整型常量2026033021一起输出,可以通过 ${ "学号" + 2026033021 } 语句完成。
参考答案:
错
💡 解析:EL不支持用“+”进行字符串拼接。执行加法时会尝试将“学号”转化为数字,从而抛出异常。
点击评论后加载...
登录 后可参与评论
Java Web 中的 Servlet 是一个接口,必须由开发者实现才能使用。
参考答案:
对
💡 解析:Servlet最顶层确实是一个接口,开发者通常通过继承其实现类HttpServlet来使用。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,HttpSession是用于在客户端和服务器之间保存会话数据的对象。
参考答案:
对
💡 解析:HttpSession正是用于维护单一用户的状态与会话数据的。
点击评论后加载...
登录 后可参与评论
在 Java Web 应用中,所有的 Servlet 都必须配置在 web.xml 中。
参考答案:
错
💡 解析:在Servlet 3.0及以上版本,可以通过@WebServlet注解进行配置,不再必须依赖web.xml。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,Servlet 是负责处理客户端请求和生成响应的组件。
参考答案:
对
💡 解析:Servlet是服务器端的核心控制器组件,专门用于处理请求和生成动态响应。
点击评论后加载...
登录 后可参与评论
使用 HttpServlet 时,不需要重写 doGet() 或 doPost() 方法也能处理请求。
参考答案:
错
💡 解析:默认情况下,如果不重写这些方法,HttpServlet会返回HTTP 405(Method Not Allowed)错误;除非重写了底层的service()方法。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,Session 可以用于存储用户的敏感信息,如密码等。
参考答案:
对
💡 解析:Session数据保存在服务器端,相对客户端Cookie来说是安全的,可用于存放敏感数据。
点击评论后加载...
登录 后可参与评论
Servlet 生命周期包括初始化、请求处理和销毁三个阶段。
参考答案:
对
💡 解析:这分别对应着init()、service()和destroy()方法。
点击评论后加载...
登录 后可参与评论
HttpServlet 可以处理 GET 请求和 POST 请求。
参考答案:
对
💡 解析:HttpServlet提供了doGet和doPost等专门针对HTTP方法的设计。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,JSP 是一种 Java 类,必须手动编译。
参考答案:
错
💡 解析:JSP最终会被转换为Java类,但这一步是由Web容器(如Tomcat)在运行时自动编译的,无需手动编译。
点击评论后加载...
登录 后可参与评论
Java Web 中的 DispatcherServlet 负责所有请求的分发。
参考答案:
错
💡 解析:DispatcherServlet是Spring MVC框架特有的核心前端控制器,而非标准Java Web/Servlet规范中的内容。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,可以使用 @WebServlet 注解来定义 Servlet。
参考答案:
对
💡 解析:这是Servlet 3.0之后替代web.xml配置的主流方式。
点击评论后加载...
登录 后可参与评论
JSP 文件中的 <% %> 用于插入 Java 代码。
参考答案:
对
💡 解析:<% %> 称为JSP Scriptlet(脚本片段),里面可以写任意Java代码。
点击评论后加载...
登录 后可参与评论
Java Web 中,所有的请求都可以通过 HttpServletRequest 对象获取。
参考答案:
对
💡 解析:该对象封装了HTTP请求的所有信息,如请求头、请求参数、路径等。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,Servlet 和 JSP 文件的作用是相同的,都是用于显示动态页面。
参考答案:
错
💡 解析:在现代架构中,Servlet主要负责控制器(Controller)逻辑和数据处理,而JSP专注作为视图(View)来显示动态页面。
点击评论后加载...
登录 后可参与评论
Java Web 中的 filter 可以用于对请求和响应进行预处理。
参考答案:
对
💡 解析:过滤器(Filter)正是用于拦截请求和响应,做编码处理、权限校验等预处理工作。
点击评论后加载...
登录 后可参与评论
Java Web 中,session 和 cookie 都可以存储用户数据。
参考答案:
对
💡 解析:两者的区别在于Session存放在服务器端,Cookie存放在客户端。
点击评论后加载...
登录 后可参与评论
HttpServletResponse 的 setContentType() 方法用于设置响应内容的 MIME 类型。
参考答案:
对
💡 解析:例如设置为 "text/html;charset=UTF-8" 以通知浏览器如何解析响应数据。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,request.getParameter() 用于获取 HTTP 请求中的 URL 参数。
参考答案:
对
💡 解析:不仅可以获取URL拼接的参数(GET),也可以获取请求体中的表单参数(POST)。
点击评论后加载...
登录 后可参与评论
Java Web 中的 JSP 是基于 Servlet 技术实现的。
参考答案:
对
💡 解析:JSP在运行时会被引擎翻译为Servlet Java类并编译执行。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,@WebFilter 注解用于配置过滤器。
参考答案:
对
💡 解析:与@WebServlet类似,@WebFilter用于快速基于注解声明过滤器。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,doGet() 方法处理 GET 请求,doPost() 方法处理 POST 请求。
参考答案:
对
💡 解析:这是HttpServlet类分发HTTP请求的基本设计原则。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,RequestDispatcher.forward()方法用于将请求从一个 Servlet转发到另一个 Servlet。
参考答案:
对
💡 解析:该方法实现了服务器内部的请求转发跳转。
点击评论后加载...
登录 后可参与评论
在 Java Web 中,response.sendRedirect()方法会导致浏览器发起一个新的请求,并重新加载页面。
参考答案:
对
💡 解析:这是重定向(Redirect)的特点,浏览器地址栏会更新为新的URL。
点击评论后加载...
登录 后可参与评论
forward()是由服务器端处理的,而 sendRedirect() 是由客户端浏览器处理的。
参考答案:
对
💡 解析:请求转发是服务器内部行为;重定向是向客户端发送指令,由客户端重新发起请求。
点击评论后加载...
登录 后可参与评论
四、程序题
请完成一个最简单的 Servlet 程序,返回一段文本到浏览器。
参考答案:
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("Hello, Servlet!");
}
}
💡 解析:基础 Servlet 代码结构,配置了注解路径,设置字符集并返回 Hello文本。
点击评论后加载...
登录 后可参与评论
通过 POST 提交表单数据,并在 Servlet 中接收并输出用户名。
参考答案:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
response.getWriter().println("用户名:" + username);
}
💡 解析:需先设置request字符集防止乱码,随后用 getParameter() 取出数据打印。
点击评论后加载...
登录 后可参与评论
通过 Cookie 设置用户名并获取全部 Cookie。
参考答案:
// 设置Cookie
Cookie cookie = new Cookie("username", "Tom");
cookie.setMaxAge(3600);
response.addCookie(cookie);
// 获取Cookie
Cookie[] cookies = request.getCookies();
💡 解析:创建并配置 Cookie 生命周期后使用 addCookie();读取时返回的是 Cookie[] 数组。
点击评论后加载...
登录 后可参与评论
在 web.xml 中配置 Servlet 与其访问路径。
参考答案:
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
💡 解析:Servlet 基础 XML 配置结构,必须保证 servlet-name 在两组标签内一致匹配。
点击评论后加载...
登录 后可参与评论
补全 Servlet 中的转发和重定向操作。
参考答案:
// 转发到 JSP 页面
request.getRequestDispatcher("success.jsp").forward(request, response);
// 重定向到其他页面
response.sendRedirect("error.jsp");
💡 解析:RequestDispatcher.forward() 用于服务端转发;sendRedirect() 用于客户端重定向。
点击评论后加载...
登录 后可参与评论
向 Session 中写入一个属性,并读取该属性值。
参考答案:
HttpSession session = request.getSession();
session.setAttribute("username", username);
String username = (String) session.getAttribute("username");
System.out.println("用户名:" + username);
💡 解析:利用 setAttribute 和 getAttribute 进行会话数据的存取,读取时需要注意强制类型转换。
点击评论后加载...
登录 后可参与评论
编写Servlet类并重写内部方法
参考答案:
public class MyServlet extends HttpServlet{
@Override
protected void init() {
// Servlet初始化代码
}
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// POST请求处理逻辑
}
}
💡 解析:通常继承 HttpServlet,根据需要重写 init(), doGet(), doPost() 等方法。
点击评论后加载...
登录 后可参与评论
执行带参数的查询操作并遍历结果集
参考答案:
String sql = "SELECT * FROM users WHERE age >?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 18);
ResultSet rs = pstmt.executeQuery();
while(rs.next()) { /* 处理数据 */ }
💡 解析:JDBC 典型应用,使用 PreparedStatement 安全传参,通过 executeQuery 获取结果集并在 while 中遍历。
点击评论后加载...
登录 后可参与评论
将用户信息存入会话并设置超时时间
参考答案:
// 将 currentUser 对象存入 session
session.setAttribute("user", currentUser);
// 设置 session 的最大不活动时间为 30 分钟 (1800秒)
session.setMaxInactiveInterval(1800);
// 手动销毁 session
session.invalidate();
💡 解析:setMaxInactiveInterval() 的单位是秒。
点击评论后加载...
登录 后可参与评论
编写继承自Http协议的Servlet
参考答案:
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 处理 GET 请求的逻辑
}
@Override
public void init() throws ServletException {
// Servlet 初始化逻辑
}
}
💡 解析:HTTP Servlet 的骨架结构,通过继承 HttpServlet 来接管 HTTP 各种Method的处理。
点击评论后加载...
登录 后可参与评论
编写一个JSP页面,使用Ajax技术和XMLHttpRequest类向“/demo/search-servlet”地址发送GET请求,并将返回的学生信息数组以表格形式渲染到页面中。(学生信息表中包含“姓名”、“年龄”、“主修课程”三个字段)
要求:渲染表格时,使用JavaScript语言将页面中ID值为“data_table”的HTML组件的内部值修改为表格。(仅给出JavaScript代码即可)
参考答案:
var xhr = new XMLHttpRequest();
xhr.open('GET', '/demo/search-servlet', true);
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == 200) {
var students = JSON.parse(xhr.responseText);
var html = '<table border="1"><tr><th>姓名</th><th>年龄</th><th>主修课程</th></tr>';
for(var i=0; i<students.length; i++) {
html += '<tr><td>'+students[i].姓名+'</td><td>'+students[i].年龄+'</td><td>'+students[i].主修课程+'</td></tr>';
}
html += '</table>';
document.getElementById('data_table').innerHTML = html;
}
};
xhr.send();
💡 解析:考察原生 Ajax 的使用(open, onreadystatechange, send)以及 DOM 节点的 innerHTML 操作。
点击评论后加载...
登录 后可参与评论
编写一个全局字符编码过滤器EncodingFilter,实现javax.servlet.Filter接口。要求在doFilter方法中,将请求(Request)和响应(Response)的字符编码统一设置为UTF-8,然后放行请求。
参考答案:
public class EncodingFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
chain.doFilter(request, response);
}
}
💡 解析:过滤器最重要的步骤是在拦截并完成设置后,调用 chain.doFilter() 将请求放行给下一个节点。
点击评论后加载...
登录 后可参与评论
编写一个CalcServlet,接收前端传来的两个字符串参数num1和num2。
要求:将这两个参数转换为整型(int),计算它们的和(sum),将结果存入Request作用域(属性名为"result"),然后请求转发到result.jsp页面展示。
参考答案:
@WebServlet("/calc")
public class CalcServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int num1 = Integer.parseInt(req.getParameter("num1"));
int num2 = Integer.parseInt(req.getParameter("num2"));
int sum = num1 + num2;
req.setAttribute("result", sum);
req.getRequestDispatcher("result.jsp").forward(req, resp);
}
}
💡 解析:核心考点:getParameter获取参数、Integer.parseInt转换数据类型、setAttribute域存储、以及 getRequestDispatcher 进行请求转发。
点击评论后加载...
登录 后可参与评论
编写一个ScoreServlet,设置访问路径为/score-servlet,接收前端传来的整型数组scoreList。要求:将参数scoreList的内容转换成整型并计算总分total,将结果和原数组存入request对象,然后请求转发到result.jsp页面展示。
参考答案:
@WebServlet("/score-servlet")
public class ScoreServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String[] scores = request.getParameterValues("scoreList");
int total = 0;
if(scores != null) {
for(String s : scores) {
total += Integer.parseInt(s);
}
}
request.setAttribute("scoreList", scores);
request.setAttribute("total", total);
request.getRequestDispatcher("result.jsp").forward(request, response);
}
}
💡 解析:注意同名数组参数必须使用 getParameterValues() 接收。随后的流程依然是计算、设值、转发的经典操作流程。
点击评论后加载...
登录 后可参与评论