Java Web题库 🔍登录 / 注册

一、选择题

#1 CHOICE
JavaWeb应用程序的三层架构通常不包括以下哪一层?
参考答案:
D
💡 解析:三层架构通常指表示层、业务逻辑层和数据访问层(持久层)。网络传输层属于OSI或TCP/IP模型。
点击评论后加载...
#2 CHOICE
下列哪个不是JavaWeb开发的常用技术?
参考答案:
D
💡 解析:ASP.NET是微软.NET平台的技术,不属于JavaWeb技术栈。
点击评论后加载...
#3 CHOICE
HTTP协议默认使用的端口号是?
参考答案:
B
💡 解析:HTTP的默认端口是80,HTTPS的默认端口是443,Tomcat服务器默认使用8080。
点击评论后加载...
#4 CHOICE
关于Servlet生命周期,以下说法错误的是?
参考答案:
C
💡 解析:destroy()方法是在Servlet被Web容器正常卸载或服务器关闭时主动调用的,而不是由垃圾回收器触发。
点击评论后加载...
#5 CHOICE
在web.xml中配置Servlet时,哪个标签用于指定Servlet的类名?
参考答案:
B
💡 解析:<servlet-class>标签用于指定Servlet的完全限定类名(包名+类名)。
点击评论后加载...
#6 CHOICE
下列哪个方法不是HttpServlet类中的?
参考答案:
C
💡 解析:HttpServlet中处理请求的核心方法是service(),并没有doService()方法。
点击评论后加载...
#7 CHOICE
JSP最终会被转换为?
参考答案:
A
💡 解析:JSP在第一次被访问时会被Web容器(如Tomcat)翻译为一个继承自Servlet的Java类,然后编译为字节码。
点击评论后加载...
#8 CHOICE
下列哪个不是JSP的隐式对象?
参考答案:
D
💡 解析:JSP有9大隐式(内置)对象,不包含cookie。获取cookie通常通过request.getCookies()。
点击评论后加载...
#9 CHOICE
JSP中的<%@ page %>指令的作用是?
参考答案:
A
💡 解析:page指令主要用于定义JSP页面的全局属性,例如contentType、pageEncoding等。
点击评论后加载...
#10 CHOICE
下列哪种不是JavaWeb中会话跟踪的技术?
参考答案:
D
💡 解析:Ajax是一种前端异步请求技术,不属于HTTP会话跟踪技术(会话跟踪包含Cookie, Session, URL重写, 隐藏表单域)。
点击评论后加载...
#11 CHOICE
设置Cookie的有效期使用哪个方法?
参考答案:
A
💡 解析:使用 setMaxAge(int expiry) 方法可以设置 Cookie 的有效存活时间(单位为秒)。
点击评论后加载...
#12 CHOICE
关于Filter,以下说法错误的是?
参考答案:
C
💡 解析:过滤器(Filter)用于拦截和预处理请求,但不能替代Servlet去处理核心业务逻辑并生成完整响应。
点击评论后加载...
#13 CHOICE
过滤器链的执行顺序由什么决定?
参考答案:
A
💡 解析:在基于web.xml的配置中,过滤器的执行顺序由<filter-mapping>标签出现的先后顺序决定。
点击评论后加载...
#14 CHOICE
下列哪个不是MVC模式的组成部分?
参考答案:
D
💡 解析:MVC架构包括Model(模型)、View(视图)、Controller(控制器)。Service属于业务逻辑层,不在MVC基础定义内。
点击评论后加载...
#15 CHOICE
关于Spring MVC,以下说法错误的是?
参考答案:
D
💡 解析:在Spring MVC中,模型数据还可以通过Model、ModelMap、@ModelAttribute等多种方式传递,不局限于ModelAndView。
点击评论后加载...
#16 CHOICE
EL表达式的语法是?
参考答案:
A
💡 解析:EL(Expression Language)表达式的基础语法是以 ${ 开头,以 } 结尾。
点击评论后加载...
#17 CHOICE
JSTL核心标签库的前缀通常是?
参考答案:
B
💡 解析:按照惯例,JSTL的核心标签库(Core)引入时通常使用 'c' 作为前缀,如 <c:out>。
点击评论后加载...
#18 CHOICE
Java Web开发的核心技术是?
参考答案:
B
💡 解析:Servlet是Java Web开发的最核心和基础的技术,JSP在底层也是被编译成Servlet执行的。
点击评论后加载...
#19 CHOICE
在Servlet中,doGet方法用于处理什么类型的请求?
参考答案:
B
💡 解析:doGet方法专门用于处理客户端发来的HTTP GET请求。
点击评论后加载...
#20 CHOICE
JSP技术的主要作用是?
参考答案:
C
💡 解析:JSP的主要作用是通过将Java代码和逻辑嵌入到静态的HTML中,从而实现动态网页内容的生成与渲染。
点击评论后加载...
#21 CHOICE
Spring框架的核心是什么?
参考答案:
B
💡 解析:Spring框架的两大核心是IoC(控制反转)和AOP(面向切面编程),其中IoC(依赖注入)是最基础的核心容器机制。
点击评论后加载...
#22 CHOICE
Tomcat服务器是基于什么实现的?
参考答案:
D
💡 解析:Tomcat是一个基于Java语言编写的Web服务器和Servlet容器,它必须运行在Java虚拟机(JVM)之上。
点击评论后加载...
#23 CHOICE
JSP文件的扩展名是?
参考答案:
A
💡 解析:JSP文件的标准扩展名为 .jsp。
点击评论后加载...
#24 CHOICE
以下哪一项不是Spring框架的模块?
参考答案:
B
💡 解析:Spring Boot和Spring Cloud是基于Spring构建的独立子项目/框架,严格来说不属于Spring Framework的基础模块。
点击评论后加载...
#25 CHOICE
Hibernate框架的主要用途是什么?
参考答案:
B
💡 解析:Hibernate是一个开源的对象关系映射(ORM)框架,主要用于简化Java应用程序对数据库的持久化操作。
点击评论后加载...
#26 CHOICE
使用Servlet时,哪一个方法用于处理客户端的POST请求?
参考答案:
A
💡 解析:doPost() 方法专门用于处理客户端发送的 HTTP POST 请求。
点击评论后加载...
#27 CHOICE
在Spring MVC中,哪个注解用于定义控制器?
参考答案:
A
💡 解析:@Controller 注解用于标识一个类是 Spring MVC 的控制器(Controller)。
点击评论后加载...
#28 CHOICE
以下哪种HTTP方法通常用于更新数据?
参考答案:
C
💡 解析:在 RESTful 风格中,GET 用于查询,POST 用于新增,PUT 通常用于更新数据,DELETE 用于删除数据。
点击评论后加载...
#29 CHOICE
在Servlet中,response对象的setContentType方法的作用是什么?
参考答案:
A
💡 解析:setContentType() 方法用于设置发送到客户端响应体的 MIME 类型,如 'text/html'。
点击评论后加载...
#30 CHOICE
在Servlet中,getParameter()方法用于?
参考答案:
C
💡 解析:request.getParameter() 是获取客户端 HTTP 请求参数(表单提交或 URL 拼接的参数)的最常用方法。
点击评论后加载...
#31 CHOICE
在Java Web开发中,哪个注解用于将类标记为Spring管理的Bean?
参考答案:
C
💡 解析:@Component 是最基础的组件注解,用于将普通的 Java 类标记为 Spring 容器管理的 Bean。
点击评论后加载...
#32 CHOICE
以下哪种方式可以实现Spring框架的依赖注入( )?
参考答案:
D
💡 解析:Spring 提供了多种依赖注入的方式,包括构造函数注入、Setter 方法注入以及字段注入。
点击评论后加载...
#33 CHOICE
在Servlet中,service方法的作用是什么?
参考答案:
C
💡 解析:service() 是 Servlet 的核心方法,每当有请求到来时,Servlet 容器会调用该方法来处理请求并生成响应。
点击评论后加载...
#34 CHOICE
以下哪个是Spring Boot的优点?
参考答案:
D
💡 解析:Spring Boot 倡导“约定优于配置”,提供了自动配置、内嵌服务器(如 Tomcat)等特性,大大简化了开发和部署。
点击评论后加载...
#35 CHOICE
Tomcat的工作方式是?
参考答案:
B
💡 解析:Tomcat 最主要的角色是一个 Web 容器(Servlet 容器),核心工作就是运行 Servlet 和 JSP。
点击评论后加载...
#36 CHOICE
在Spring MVC中,哪个注解用于定义一个请求映射?
参考答案:
A
💡 解析:@RequestMapping 用于将特定的 HTTP 请求路径映射到 Controller 的处理方法上。
点击评论后加载...
#37 CHOICE
以下哪个协议用于Web浏览器和Web服务器之间的通信?
参考答案:
A
💡 解析:HTTP(超文本传输协议)是万维网数据通信的基础协议。
点击评论后加载...
#38 CHOICE
Spring MVC中的DispatcherServlet的作用是什么?
参考答案:
A
💡 解析:DispatcherServlet 是 Spring MVC 的前端控制器,负责接收所有请求,并将请求分发给对应的 Handler(控制器)处理。
点击评论后加载...
#39 CHOICE
Servlet生命周期中的初始化方法是?
参考答案:
C
💡 解析:init() 方法在 Servlet 实例化后由 Web 容器调用,主要用于完成 Servlet 的初始化工作。
点击评论后加载...
#40 CHOICE
在Spring中,@Autowired注解的作用是?
参考答案:
A
💡 解析:@Autowired 是 Spring 提供的一个注解,用于按类型自动装配(注入)依赖的 Bean。
点击评论后加载...
#41 CHOICE
在JSP页面中,哪种标签用于输出动态数据?
参考答案:
C
💡 解析:<%= %> 是 JSP 的表达式标签,用于直接输出 Java 变量或表达式的值到页面上。
点击评论后加载...
#42 CHOICE
以下哪个是EL表达式的正确语法?
参考答案:
A
💡 解析:EL(Expression Language)的标准语法就是以 ${ 开始,以 } 结束。
点击评论后加载...
#43 CHOICE
在JSTL中,<c:out>标签的作用是?
参考答案:
B
💡 解析:<c:out> 用于输出数据,并且默认会将特殊字符(如 <, >)进行 HTML 转义,防止 XSS 攻击。
点击评论后加载...
#44 CHOICE
在JSTL中,<c:forEach>标签用于什么功能?
参考答案:
A
💡 解析:<c:forEach> 是 JSTL 中的迭代标签,常用于遍历 List、数组或 Map 等集合。
点击评论后加载...
#45 CHOICE
在JSTL中,<c:if>标签用于什么功能?
参考答案:
C
💡 解析:<c:if> 用于单条件的判断处理,相当于 Java 中的 if 语句。
点击评论后加载...
#46 CHOICE
在JSTL中,<c:choose>标签的作用是什么?
参考答案:
B
💡 解析:<c:choose> 结合 <c:when> 和 <c:otherwise> 一起使用,相当于 Java 中的 switch 语句,用于多重条件分支。
点击评论后加载...
#47 CHOICE
在EL中,${param.name}用于获取什么类型的参数?
参考答案:
A
💡 解析:param 是 EL 的隐式对象,用于获取 HTTP 请求中携带的参数,等价于 request.getParameter("name")。
点击评论后加载...
#48 CHOICE
以下哪个EL表达式用于获取请求中的name参数?
参考答案:
A
💡 解析:${param.name} 是获取请求参数最常见且标准的 EL 表达式写法。
点击评论后加载...
#49 CHOICE
在JSTL中,<c:set>标签用于?
参考答案:
C
💡 解析:<c:set> 用于在指定的 JSP 作用域(如 page, request 等)中设置或修改变量的值。
点击评论后加载...
#50 CHOICE
在EL中,${sessionScope.attribute}的作用是?
参考答案:
A
💡 解析:sessionScope 是 EL 的隐式对象,明确指代从 session 作用域中查找数据。
点击评论后加载...
#51 CHOICE
在三层架构中,哪个层次负责实现核心业务逻辑并向表示层提供必要的数据处理?
参考答案:
B
💡 解析:业务逻辑层(Service)承上启下,负责核心的业务规则实现和逻辑判断。
点击评论后加载...
#52 CHOICE
在 Servlet 的生命周期中,service()方法被调用的时机是?
参考答案:
A
💡 解析:只要客户端发出请求被映射到该 Servlet,容器就会调用一次 service() 方法进行响应。
点击评论后加载...
#53 CHOICE
在JSTL中,<c:import>标签的作用是?
参考答案:
A
💡 解析:<c:import> 类似于 JSP 的 include,但功能更强,可以导入项目内或甚至外部 URL 的页面资源。
点击评论后加载...
#54 CHOICE
以下哪个EL表达式用于获取当前页面的上下文路径?
参考答案:
B
💡 解析:pageContext 是 EL 唯一的作用域类隐式对象,通过它可以逐层访问到 request,进而拿到 contextPath(上下文路径)。
点击评论后加载...
#55 CHOICE
在JSTL中,<c:choose>标签的作用是?
参考答案:
A
💡 解析:<c:choose> 用于实现类似 switch-case 的多路分支判断。
点击评论后加载...
#56 CHOICE
以下哪个JSTL标签用于导入外部的URL或文件?
参考答案:
A
💡 解析:<c:import> 标签可以抓取并插入本地或外部 Web 资源的内容。
点击评论后加载...
#57 CHOICE
在JSTL中,<c:when>标签的作用是?
参考答案:
C
💡 解析:<c:when> 必须嵌套在 <c:choose> 中使用,代表其中的一种条件分支(相当于 case)。
点击评论后加载...
#58 CHOICE
在EL中,${cookie.name}用于获取什么?
参考答案:
C
💡 解析:cookie 是 EL 隐式对象,${cookie.name} 获取的是名称为 name 的 Cookie 对象。
点击评论后加载...
#59 CHOICE
以下哪个EL表达式用于获取当前会话中的user属性?
参考答案:
A
💡 解析:明确指定 sessionScope,确保获取的变量一定是存放于会话 (session) 级别的。
点击评论后加载...
#60 CHOICE
在JSP中,以下哪个指令用于指定页面的编码方式?
参考答案:
B
💡 解析:标准写法应为 <%@ page pageEncoding="UTF-8" %>,选项B最符合指定编码意图。
点击评论后加载...
#61 CHOICE
JSP文件的扩展名是?
参考答案:
C
💡 解析:JSP(Java Server Pages)的默认及标准扩展名就是 .jsp。
点击评论后加载...
#62 CHOICE
在JSP中,以下哪个标签用于输出变量值?
参考答案:
C
💡 解析:<%= %> 为 JSP 表达式,可以将等号后的 Java 变量或表达式的值直接打印到页面。
点击评论后加载...
#63 CHOICE
以下哪种方法用于在JSP中获取请求参数?
参考答案:
A
💡 解析:request 是 JSP 的内置对象,直接调用其 getParameter() 方法即可获取前端提交的参数。
点击评论后加载...
#64 CHOICE
在JSP中,以下哪个标签用于包含其他JSP页面的内容?
参考答案:
A
💡 解析:<jsp:include> 为动态包含动作标签,常用于将公共页面引入当前页面。
点击评论后加载...
#65 CHOICE
在JSP中,<%@ page %>指令的作用是?
参考答案:
B
💡 解析:page 指令用于对当前 JSP 页面的全局特性进行配置。
点击评论后加载...
#66 CHOICE
在JSP中,哪个标签用于定义一个JavaBean并在页面中使用?
参考答案:
B
💡 解析:<jsp:useBean> 用于在指定的范围内查找或实例化一个 JavaBean 对象。
点击评论后加载...
#67 CHOICE
JSP中使用<%= %>语法的作用是?
参考答案:
A
💡 解析:<%= %> 是 JSP 的表达式标签,用于计算表达式的值并直接将其作为字符串输出。
点击评论后加载...
#68 CHOICE
JSP中,<jsp:forward>标签用于什么?
参考答案:
A
💡 解析:<jsp:forward> 动作标签用于在服务器端将当前的请求转发给另一个资源。
点击评论后加载...
#69 CHOICE
在JSP中,<jsp:setProperty>标签用于?
参考答案:
A
💡 解析:<jsp:setProperty> 通常与 <jsp:useBean> 配合使用,用于为 JavaBean 的属性赋值。
点击评论后加载...
#70 CHOICE
JSP中的<%= %>和<%=out.print() %>的区别是什么?
参考答案:
B
💡 解析:<%= %> 内只能写表达式,底层编译时会被转换为 out.print()。
点击评论后加载...
#71 CHOICE
以下哪个方法可以在JSP中获取当前会话ID?
参考答案:
B
💡 解析:在 JSP 中,session 是 9 大隐式对象之一,直接调用 session.getId() 来获取会话ID。
点击评论后加载...
#72 CHOICE
JSP中的隐式对象request表示什么?
参考答案:
A
💡 解析:request 对象代表客户端的 HTTP 请求,它是 HttpServletRequest 类的实例。
点击评论后加载...
#73 CHOICE
JSP中的<jsp:getProperty>标签的作用是?
参考答案:
A
💡 解析:<jsp:getProperty> 用于提取指定 JavaBean 的属性值并输出。
点击评论后加载...
#74 CHOICE
在JSP中,<%@ page import="java.util.*" %>指令的作用是什么?
参考答案:
B
💡 解析:page 指令的 import 属性功能与 Java 中的 import 关键字相同。
点击评论后加载...
#75 CHOICE
Servlet中,doPost方法用于处理什么类型的请求?
参考答案:
A
💡 解析:专门用于处理由 HTTP POST 方法提交的请求。
点击评论后加载...
#76 CHOICE
Servlet生命周期中的初始化方法是?
参考答案:
C
💡 解析:当 Web 容器第一次加载 Servlet 时,会调用一次 init() 方法进行初始化。
点击评论后加载...
#77 CHOICE
HttpServletRequest 中如何获取客户端的 Cookie?
参考答案:
A
💡 解析:调用 request.getCookies() 会返回一个 Cookie 数组。
点击评论后加载...
#78 CHOICE
以下哪个方法用于创建一个新的 Session 或获取当前的 Session?
参考答案:
D
💡 解析:request.getSession() 会获取当前session或在没有时创建一个新的 session。
点击评论后加载...
#79 CHOICE
JavaBean 的一个基本要求是什么?
参考答案:
A
💡 解析:标准的 JavaBean 规范要求必须具有公共的无参构造函数。
点击评论后加载...
#80 CHOICE
JSP中的<jsp:include>标签和<%@ include %>指令的区别是?
参考答案:
A
💡 解析:<%@ include %> 是静态包含;<jsp:include> 是动态包含。
点击评论后加载...
#81 CHOICE
在JavaScript中,使用XMLHttpRequest对象发起请求时,哪个方法用于设置HTTP请求的方法和URL?
参考答案:
A
💡 解析:xhr.open(method, url, async) 方法用于初始化一个请求。
点击评论后加载...
#82 CHOICE
在Ajax中,readyState属性的值为4表示什么?
参考答案:
B
💡 解析:readyState 为 4 意味着数据接收完毕,响应已准备好。
点击评论后加载...
#83 CHOICE
在JavaScript中,以下哪一项用于发送Ajax请求?
参考答案:
B
💡 解析:必须调用 send() 方法才能将请求真正发送给服务器。
点击评论后加载...
#84 CHOICE
以下哪个是Ajax请求的默认方法?
参考答案:
C
💡 解析:Ajax 通常默认采用 GET 方式请求。
点击评论后加载...
#85 CHOICE
在使用Ajax时,onreadystatechange事件的作用是什么?
参考答案:
B
💡 解析:只要 readyState 属性的值发生变化,就会触发 onreadystatechange 事件。
点击评论后加载...
#86 CHOICE
在JavaScript中,使用XMLHttpRequest时,getResponseText()方法的作用是?
参考答案:
C
💡 解析:原生JS中为responseText属性,作用是获取响应的文本数据。
点击评论后加载...
#87 CHOICE
在JavaScript中,如何使用XMLHttpRequest对象发送POST请求?
参考答案:
A
💡 解析:发送 POST 请求必须先用 open("POST", ...) 初始化,随后调用 send() 发出。
点击评论后加载...
#88 CHOICE
在JavaScript中,如何发送一个包含数据的POST请求?
参考答案:
A
💡 解析:send(data) 方法可以接收字符串或 FormData 对象作为请求体发送。
点击评论后加载...

二、填空题

#89 FILL
在MySQL中创建存储过程时需要使用______关键字和END关键字包裹SQL语句。
参考答案:
BEGIN
💡 解析:BEGIN 和 END 用于定义一个多行 SQL 语句的复合语句块。
点击评论后加载...
#90 FILL
在JSP和Servlet中,可以使用______对象的print()方法向浏览器输出内容。
参考答案:
out
💡 解析:out 是 JSP 的内置对象;在 Servlet 中则是 response.getWriter()。
点击评论后加载...
#91 FILL
request对象中的______方法可以通过传入参数名的方式获取对应的参数值。
参考答案:
getParameter
💡 解析:request.getParameter(String name) 是获取前端参数的最常用方法。
点击评论后加载...
#92 FILL
通过调用application对象中的______方法可以在该对象中以键值对的形式存放一个参数。
参考答案:
setAttribute
💡 解析:四大作用域存取数据均使用 setAttribute() 和 getAttribute()。
点击评论后加载...
#93 FILL
在Servlet中获取当前用户创建的session对象需要调用______对象的______方法。
参考答案:
request, getSession
💡 解析:通过 HttpServletRequest 对象的 getSession() 方法来获取 Session。
点击评论后加载...
#94 FILL
session对象的______方法可以直接使当前session会话无效,并解除绑定到它上面的任何对象。
参考答案:
invalidate
💡 解析:invalidate() 方法用于销毁 Session。
点击评论后加载...
#95 FILL
JSP动作标签中的<jsp:______ page=“index.jsp”/>标签可以直接从当前页面跳转至其他页面。
参考答案:
forward
💡 解析:<jsp:forward> 用于在服务器端进行请求转发。
点击评论后加载...
#96 FILL
请将以下注解补完,使其可以完成Servlet声明的功能。 @______(name=“helloWorld”, value=“/hello-world”)
参考答案:
WebServlet
💡 解析:@WebServlet 是 Servlet 3.0 开始支持的注解。
点击评论后加载...
#97 FILL
JSP指令标签中的useBean标签可以声明一个Bean对象,其中scope属性用于声明该对象的作用范围,可选值包括______、request、session、和application。
参考答案:
page
💡 解析:JSP 的四大作用范围是 page、request、session 和 application。
点击评论后加载...
#98 FILL
Servlet类中用于初始化阶段调用的方法是______。
参考答案:
init
💡 解析:Servlet 生命周期包含 init()、service()、destroy()。
点击评论后加载...
#99 FILL
在jsp页面中引入其他页面,可以通过<jsp:include ______=“header.html”/>标签,将指定的文件内容渲染在当前页面中。
参考答案:
page
💡 解析:<jsp:include> 标签的标准语法为 <jsp:include page="目标路径" />。
点击评论后加载...
#100 FILL
阅读以下EL表达式中的三元运算符,写出页面上的输出结果:______ ${ 5 > 3 ? "Yes" : "No" }
参考答案:
Yes
💡 解析:5 > 3 为 true,返回 "Yes"。
点击评论后加载...
#101 FILL
为了防止执行SQL语句时存在SQL注入攻击,推荐使用______类来完成SQL语句的执行。
参考答案:
PreparedStatement
💡 解析:PreparedStatement 接口支持预编译 SQL 语句,能有效防止 SQL 注入。
点击评论后加载...
#102 FILL
Servlet的生命周期方法包括init()、service()和______。
参考答案:
destroy()
💡 解析:destroy() 方法在 Servlet 被 Web 容器卸载时调用。
点击评论后加载...
#103 FILL
阅读以下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。
点击评论后加载...
#104 FILL
请补充以下代码,使其可以完成对数组arrays的遍历。 <c:forEach var="i" item="______"> <p>${ ____ }<p> </c:forEach>
参考答案:
${arrays}, i
💡 解析:items 属性用于指定被遍历的集合,var 代表当前元素变量名。
点击评论后加载...
#105 FILL
阅读以下关于EL输出变量的代码,其输出结果是:______ <% pageContext.setAttribute("name", "张三"); request.setAttribute("name", "李四"); session.setAttribute("name", "王五"); application.setAttribute("name", "赵六"); %> ${ name }
参考答案:
张三
💡 解析:EL 表达式按 page -> request -> session -> application 顺序查找。
点击评论后加载...
#106 FILL
response对象的______方法可以将当前客户端的请求转到其他页面去。
参考答案:
sendRedirect
💡 解析:response.sendRedirect() 用于重定向。
点击评论后加载...
#107 FILL
在请求过滤处理后,需要调用chain参数的______方法将请求向下传递给下一过滤器或者目标资源。
参考答案:
doFilter
💡 解析:FilterChain 对象的 doFilter(request, response) 方法进行放行。
点击评论后加载...
#108 FILL
Spring MVC 中,用于处理 HTTP 请求的核心组件是______。
参考答案:
DispatcherServlet
💡 解析:DispatcherServlet 是 Spring MVC 的前端控制器。
点击评论后加载...
#109 FILL
JavaBean 的______方法用于设置对象的某个属性值。
参考答案:
setter
💡 解析:setter 用于设置属性,getter 用于读取属性。
点击评论后加载...
#110 FILL
EL提供______和______两种运算符来存取数据。
参考答案:
. (点运算符), [] (中括号运算符)
💡 解析:点运算符和中括号运算符用于读取对象属性或集合元素。
点击评论后加载...
#111 FILL
已知文件look.jsp的路径为c:/myjsp/inc,文件login.jsp的路径为c:/myjsp。若使用response的重定向方法由look.jsp跳转到时login.jsp中,则正确的写法为______。
参考答案:
response.sendRedirect("../login.jsp")
💡 解析:使用相对路径 "../" 返回上一级进行跳转。
点击评论后加载...
#112 FILL
在JavaWeb中,Servlet是运行在服务器端的______程序,用于处理客户端请求并生成响应。
参考答案:
Java
💡 解析:Servlet 是基于 Java 语言编写的服务器端组件技术。
点击评论后加载...
#113 FILL
用于封装服务器响应数据,如状态码和内容类型的内置对象是______。
参考答案:
response
💡 解析:HttpServletResponse 对象负责封装响应信息。
点击评论后加载...
#114 FILL
在 JSP 页面中,用于设置页面属性和全局配置的指令是______指令。
参考答案:
page
💡 解析:<%@ page ... %> 指令用于设置全局配置。
点击评论后加载...
#115 FILL
当getParameter()方法的参数部分指定的输入控件不存在时,该方法的返回值为______。
参考答案:
null
💡 解析:如果请求中没有该参数,返回 null。
点击评论后加载...
#116 FILL
列表框的name属性值为"city",并且允许多选,若要一次读取所有的选中项并存放于数组str中,则对应的Java语句为______。
参考答案:
String[] str = request.getParameterValues("city");
💡 解析:获取同名多值参数必须使用 getParameterValues。
点击评论后加载...
#117 FILL
阅读以下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。
点击评论后加载...
#118 FILL
Spring配置文件的根元素是______,根元素最主要的子元素是<bean>,该子元素主要描述两个方面的问题,它们是唯一标识和实现类。
参考答案:
<beans>
💡 解析:基于 XML 的 Spring 配置的根标签是 <beans>。
点击评论后加载...
#119 FILL
给定一个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}。
点击评论后加载...
#120 FILL
用request对象的______方法读取Cookie。
参考答案:
getCookies()
💡 解析:request.getCookies() 返回 Cookie[] 数组。
点击评论后加载...
#121 FILL
在 Ajax 请求中,使用XMLHttpRequest对象的______方法来发送请求。
参考答案:
send()
💡 解析:必须执行 send() 才能正式发出请求。
点击评论后加载...
#122 FILL
Cookie和Session的主要区别在于:Cookie存储在客户端,而Session存储在______端。
参考答案:
服务
💡 解析:Session 寄存于服务器内存中。
点击评论后加载...
#123 FILL
用response对象的______方法可以将Cookie对象写入客户端。
参考答案:
addCookie()
💡 解析:response.addCookie(cookieObject) 用于写入 Cookie。
点击评论后加载...
#124 FILL
要删除某一个客户端的Cookie,必须使用setMaxAge()方法 ,并将Cookie的存在期限设为______。
参考答案:
0
💡 解析:setMaxAge(0) 让浏览器立即删除该 Cookie。
点击评论后加载...
#125 FILL
如果要使用JavaBean设计一个网站计数器,那么该bean的scope应当设为______。
参考答案:
application
💡 解析:网站计数器需要被所有用户共享,需使用 application 作用域。
点击评论后加载...
#126 FILL
JSTL中______标签的主要功能是用于循环控制,并且可以将集合中的成员循环浏览一遍,相当于Java中的遍历操作。
参考答案:
<c:forEach>
💡 解析:<c:forEach> 是 JSTL 的迭代遍历标签。
点击评论后加载...
#127 FILL
Cookie 和 Session 的主要区别在于:Cookie 存储在______端,而 Session 存储在服务器端。
参考答案:
客户
💡 解析:Cookie 保存在用户的浏览器本地。
点击评论后加载...
#128 FILL
在开发 HTTP 协议相关的Servlet时,通常继承______类,以便获得对 HTTP请求的支持。
参考答案:
HttpServlet
💡 解析:HttpServlet 提供了对 HTTP 协议特有方法的封装。
点击评论后加载...
#129 FILL
Tomcat默认开放的端口号是______。
参考答案:
8080
💡 解析:Tomcat 默认 HTTP 连接器监听端口为 8080。
点击评论后加载...
#130 FILL
在jsp页面中,可以用request对象的______方法来获取其他页面传递参数值的数组。
参考答案:
getParameterValues()
💡 解析:用于获取同名多值的参数数组。
点击评论后加载...
#131 FILL
过滤器可以通过______方法来拦截 HTTP 请求和响应。
参考答案:
doFilter()
💡 解析:Filter 接口的核心方法 doFilter 执行拦截逻辑。
点击评论后加载...
#132 FILL
在Ajax请求的回调函数中,判断请求是否成功需要检查readyState是否为______和status是否为200。
参考答案:
4
💡 解析:readyState = 4 意味着服务器响应已完全接收。
点击评论后加载...
#133 FILL
过滤器对象使用______对象调用过滤器链中的下一个过滤器或者目标组件。
参考答案:
FilterChain
💡 解析:调用 FilterChain 实例的 chain.doFilter() 进行流转。
点击评论后加载...
#134 FILL
在一个Filter中,处理filter业务的方法是______方法。
参考答案:
doFilter()
💡 解析:处理过滤业务的核心方法。
点击评论后加载...
#135 FILL
<c:out>标签中使用______属性来表示要输出的内容。
参考答案:
value
💡 解析:用法示例:<c:out value="${var}" />。
点击评论后加载...
#136 FILL
JavaBean 的______方法用于返回对象的某个属性值。
参考答案:
getter
💡 解析:getter 用于读取属性。
点击评论后加载...
#137 FILL
阅读以下JavaBean类定义及JSP页面代码,写出页面上的最终输出结果______ <jsp:useBean id="stu01" class="Student" /> <c:set var="stu01" value="name=李四" scope="session"/> ${ stu01.getName() }
参考答案:
张三
💡 解析:EL 表达式优先从 page 作用域找到 Bean 对象,输出原始初始化的“张三”。
点击评论后加载...
#138 FILL
阅读以下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。
点击评论后加载...

三、判断题

#139 JUDGE
JSP页面的框架是HTML语言,因此不需要Java环境即可运行。
参考答案:
错
💡 解析:JSP必须运行在支持Java的Web容器(如Tomcat)中,最终会被编译为Java Servlet类并执行。
点击评论后加载...
#140 JUDGE
<%-- --%>是JSP技术提供的注释标签,在编译时会被JSP引擎处理形成HTML代码,最终在浏览器中查看文件源码时能够看到其中的注释内容。
参考答案:
错
💡 解析:这是JSP的隐藏注释,服务器在将其编译为Servlet时会直接忽略它,因此客户端浏览器源码中完全不可见。
点击评论后加载...
#141 JUDGE
用户请求某个JSP页面后,服务器会生成对应的Java文件并编译。
参考答案:
对
💡 解析:JSP在第一次被访问时,容器会将其转换为对应的Servlet源码文件(.java)并编译成字节码(.class)。
点击评论后加载...
#142 JUDGE
多个用户访问JSP页面时,页面中的Java代码块会被置于不同的线程中运行,因此不同用户在页面中的局部操作不会互相影响。
参考答案:
对
💡 解析:Servlet/JSP默认是单例多线程模式,每次客户端请求都会在一个独立的线程中处理,方法内的局部变量是线程安全的。
点击评论后加载...
#143 JUDGE
cookie通常保存在客户端本地,可以用于保存用户的关键信息。
参考答案:
错
💡 解析:Cookie保存在客户端本地,容易被篡改或窃取,因此不应该用于保存密码等敏感关键信息。
点击评论后加载...
#144 JUDGE
application对象在服务器程序启动后进行初始化并维护,因此用户无法访问该对象的内容。
参考答案:
错
💡 解析:application对象代表整个Web应用,所有访问该应用的用户都可以读取和共享其中的数据。
点击评论后加载...
#145 JUDGE
session对象可以保存服务器与客户端的连接信息,但超出保存时长后就会被销毁。
参考答案:
对
💡 解析:Session具有超时机制,如果在指定的时间内没有任何交互,服务器会自动将其销毁。
点击评论后加载...
#146 JUDGE
Java Bean中的get/set方法可以是公有的(public),也可以是私有的(private)。
参考答案:
错
💡 解析:根据JavaBean规范,其get/set方法必须是公有的(public)。
点击评论后加载...
#147 JUDGE
Servlet类可以同时使用“web.xml配置”和“注解”两种声明方式,都会起效。
参考答案:
对
💡 解析:两者可以同时使用并起效,但需确保访问路径配置不会发生冲突。
点击评论后加载...
#148 JUDGE
Servlet类在处于“请求处理”状态时,内部的service()方法会自动根据请求方式调用对应的doGet()或doPost()等方法,因此开发人员无需编写这部分的代码。
参考答案:
对
💡 解析:HttpServlet类默认实现了service()方法,它会自动分发并调用具体的doXXX方法。
点击评论后加载...
#149 JUDGE
如果在EL中调用了一个未被声明的变量,会抛出异常并阻断中断网页渲染。
参考答案:
错
💡 解析:EL表达式具有很强的容错性,如果变量未定义或为null,它仅返回空字符串,不会抛出NullPointerException阻断渲染。
点击评论后加载...
#150 JUDGE
JSTL标准库中<c:out>标签用于向浏览器输出指定内容,但当输出内容中包含HTML代码时,无法将HTML代码渲染到为页面中。
参考答案:
对
💡 解析:<c:out>默认会将特殊字符转义(escapeXml=true),因此HTML代码会被当成普通文本输出而不会被渲染。
点击评论后加载...
#151 JUDGE
EL中的表达式不支持用“+”运算符拼接字符串。
参考答案:
对
💡 解析:在标准EL表达式中,“+”仅作为数学加法运算符,如果用它拼接字符串会导致类型转换错误。
点击评论后加载...
#152 JUDGE
在EL中调用雇员类(Employee)对象的id属性可以通过 ${ employee["id"] } 语句完成。
参考答案:
对
💡 解析:EL表达式支持使用中括号操作符获取对象的属性值。
点击评论后加载...
#153 JUDGE
在EL中,想要将字符串常量“学号”与整型常量2026033021一起输出,可以通过 ${ "学号" + 2026033021 } 语句完成。
参考答案:
错
💡 解析:EL不支持用“+”进行字符串拼接。执行加法时会尝试将“学号”转化为数字,从而抛出异常。
点击评论后加载...
#154 JUDGE
Java Web 中的 Servlet 是一个接口,必须由开发者实现才能使用。
参考答案:
对
💡 解析:Servlet最顶层确实是一个接口,开发者通常通过继承其实现类HttpServlet来使用。
点击评论后加载...
#155 JUDGE
在 Java Web 中,HttpSession是用于在客户端和服务器之间保存会话数据的对象。
参考答案:
对
💡 解析:HttpSession正是用于维护单一用户的状态与会话数据的。
点击评论后加载...
#156 JUDGE
在 Java Web 应用中,所有的 Servlet 都必须配置在 web.xml 中。
参考答案:
错
💡 解析:在Servlet 3.0及以上版本,可以通过@WebServlet注解进行配置,不再必须依赖web.xml。
点击评论后加载...
#157 JUDGE
Java Web 中的 Cookie 用于在客户端存储用户信息。
参考答案:
对
💡 解析:Cookie的主要作用就是将部分数据保存在客户端的浏览器中。
点击评论后加载...
#158 JUDGE
在 Java Web 中,Servlet 是负责处理客户端请求和生成响应的组件。
参考答案:
对
💡 解析:Servlet是服务器端的核心控制器组件,专门用于处理请求和生成动态响应。
点击评论后加载...
#159 JUDGE
使用 HttpServlet 时,不需要重写 doGet() 或 doPost() 方法也能处理请求。
参考答案:
错
💡 解析:默认情况下,如果不重写这些方法,HttpServlet会返回HTTP 405(Method Not Allowed)错误;除非重写了底层的service()方法。
点击评论后加载...
#160 JUDGE
web.xml 配置文件是 Java Web 项目中必需的文件。
参考答案:
错
💡 解析:自Servlet 3.0规范开始,web.xml已经变为可选项。
点击评论后加载...
#161 JUDGE
在 Java Web 中,Session 可以用于存储用户的敏感信息,如密码等。
参考答案:
对
💡 解析:Session数据保存在服务器端,相对客户端Cookie来说是安全的,可用于存放敏感数据。
点击评论后加载...
#162 JUDGE
Servlet 生命周期包括初始化、请求处理和销毁三个阶段。
参考答案:
对
💡 解析:这分别对应着init()、service()和destroy()方法。
点击评论后加载...
#163 JUDGE
HttpServlet 可以处理 GET 请求和 POST 请求。
参考答案:
对
💡 解析:HttpServlet提供了doGet和doPost等专门针对HTTP方法的设计。
点击评论后加载...
#164 JUDGE
在 Java Web 中,JSP 是一种 Java 类,必须手动编译。
参考答案:
错
💡 解析:JSP最终会被转换为Java类,但这一步是由Web容器(如Tomcat)在运行时自动编译的,无需手动编译。
点击评论后加载...
#165 JUDGE
Cookie 是由服务器生成并发送给客户端的。
参考答案:
对
💡 解析:服务器通过响应头Set-Cookie指令生成Cookie并交给浏览器保存。
点击评论后加载...
#166 JUDGE
Cookie 可以在多个浏览器标签页中共享。
参考答案:
对
💡 解析:在同一个浏览器实例(和相同域名/路径下),多个标签页是共享这些Cookie的。
点击评论后加载...
#167 JUDGE
Java Web 中的 DispatcherServlet 负责所有请求的分发。
参考答案:
错
💡 解析:DispatcherServlet是Spring MVC框架特有的核心前端控制器,而非标准Java Web/Servlet规范中的内容。
点击评论后加载...
#168 JUDGE
在 Java Web 中,可以使用 @WebServlet 注解来定义 Servlet。
参考答案:
对
💡 解析:这是Servlet 3.0之后替代web.xml配置的主流方式。
点击评论后加载...
#169 JUDGE
JSP 文件中的 <% %> 用于插入 Java 代码。
参考答案:
对
💡 解析:<% %> 称为JSP Scriptlet(脚本片段),里面可以写任意Java代码。
点击评论后加载...
#170 JUDGE
Java Web 中,所有的请求都可以通过 HttpServletRequest 对象获取。
参考答案:
对
💡 解析:该对象封装了HTTP请求的所有信息,如请求头、请求参数、路径等。
点击评论后加载...
#171 JUDGE
在 Java Web 中,Servlet 和 JSP 文件的作用是相同的,都是用于显示动态页面。
参考答案:
错
💡 解析:在现代架构中,Servlet主要负责控制器(Controller)逻辑和数据处理,而JSP专注作为视图(View)来显示动态页面。
点击评论后加载...
#172 JUDGE
Java Web 中的 filter 可以用于对请求和响应进行预处理。
参考答案:
对
💡 解析:过滤器(Filter)正是用于拦截请求和响应,做编码处理、权限校验等预处理工作。
点击评论后加载...
#173 JUDGE
Java Web 中,session 和 cookie 都可以存储用户数据。
参考答案:
对
💡 解析:两者的区别在于Session存放在服务器端,Cookie存放在客户端。
点击评论后加载...
#174 JUDGE
HttpServletResponse 的 setContentType() 方法用于设置响应内容的 MIME 类型。
参考答案:
对
💡 解析:例如设置为 "text/html;charset=UTF-8" 以通知浏览器如何解析响应数据。
点击评论后加载...
#175 JUDGE
在 Java Web 中,request.getParameter() 用于获取 HTTP 请求中的 URL 参数。
参考答案:
对
💡 解析:不仅可以获取URL拼接的参数(GET),也可以获取请求体中的表单参数(POST)。
点击评论后加载...
#176 JUDGE
Java Web 中的 JSP 是基于 Servlet 技术实现的。
参考答案:
对
💡 解析:JSP在运行时会被引擎翻译为Servlet Java类并编译执行。
点击评论后加载...
#177 JUDGE
在 Java Web 中,@WebFilter 注解用于配置过滤器。
参考答案:
对
💡 解析:与@WebServlet类似,@WebFilter用于快速基于注解声明过滤器。
点击评论后加载...
#178 JUDGE
JSP 页面中不能使用 Java 代码。
参考答案:
错
💡 解析:JSP页面不仅能写Java代码,其核心优势就是可以将Java代码与HTML结合。
点击评论后加载...
#179 JUDGE
在 Java Web 中,doGet() 方法处理 GET 请求,doPost() 方法处理 POST 请求。
参考答案:
对
💡 解析:这是HttpServlet类分发HTTP请求的基本设计原则。
点击评论后加载...
#180 JUDGE
在 Java Web 中,RequestDispatcher.forward()方法用于将请求从一个 Servlet转发到另一个 Servlet。
参考答案:
对
💡 解析:该方法实现了服务器内部的请求转发跳转。
点击评论后加载...
#181 JUDGE
在 Java Web 中,response.sendRedirect()方法会导致浏览器发起一个新的请求,并重新加载页面。
参考答案:
对
💡 解析:这是重定向(Redirect)的特点,浏览器地址栏会更新为新的URL。
点击评论后加载...
#182 JUDGE
forward()是由服务器端处理的,而 sendRedirect() 是由客户端浏览器处理的。
参考答案:
对
💡 解析:请求转发是服务器内部行为;重定向是向客户端发送指令,由客户端重新发起请求。
点击评论后加载...

四、程序题

#183 CODE
请完成一个最简单的 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文本。
点击评论后加载...
#184 CODE
通过 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() 取出数据打印。
点击评论后加载...
#185 CODE
通过 Cookie 设置用户名并获取全部 Cookie。
参考答案:
// 设置Cookie Cookie cookie = new Cookie("username", "Tom"); cookie.setMaxAge(3600); response.addCookie(cookie); // 获取Cookie Cookie[] cookies = request.getCookies();
💡 解析:创建并配置 Cookie 生命周期后使用 addCookie();读取时返回的是 Cookie[] 数组。
点击评论后加载...
#186 CODE
在 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 在两组标签内一致匹配。
点击评论后加载...
#187 CODE
补全 Servlet 中的转发和重定向操作。
参考答案:
// 转发到 JSP 页面 request.getRequestDispatcher("success.jsp").forward(request, response); // 重定向到其他页面 response.sendRedirect("error.jsp");
💡 解析:RequestDispatcher.forward() 用于服务端转发;sendRedirect() 用于客户端重定向。
点击评论后加载...
#188 CODE
向 Session 中写入一个属性,并读取该属性值。
参考答案:
HttpSession session = request.getSession(); session.setAttribute("username", username); String username = (String) session.getAttribute("username"); System.out.println("用户名:" + username);
💡 解析:利用 setAttribute 和 getAttribute 进行会话数据的存取,读取时需要注意强制类型转换。
点击评论后加载...
#189 CODE
编写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() 等方法。
点击评论后加载...
#190 CODE
执行带参数的查询操作并遍历结果集
参考答案:
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 中遍历。
点击评论后加载...
#191 CODE
将用户信息存入会话并设置超时时间
参考答案:
// 将 currentUser 对象存入 session session.setAttribute("user", currentUser); // 设置 session 的最大不活动时间为 30 分钟 (1800秒) session.setMaxInactiveInterval(1800); // 手动销毁 session session.invalidate();
💡 解析:setMaxInactiveInterval() 的单位是秒。
点击评论后加载...
#192 CODE
编写继承自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的处理。
点击评论后加载...
#193 PROG
编写一个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 操作。
点击评论后加载...
#194 PROG
编写一个全局字符编码过滤器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() 将请求放行给下一个节点。
点击评论后加载...
#195 PROG
编写一个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 进行请求转发。
点击评论后加载...
#196 PROG
编写一个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() 接收。随后的流程依然是计算、设值、转发的经典操作流程。
点击评论后加载...