JavaWeb期末复习题

一、单选题


1、HTML代表?(C)

A、HighText机器语言

B、超文本和链接标记语言

C、超文本标记语言

D、都不是


2、用于启动网页的HTML标签的正确顺序是?(D)

A、Head, Title, HTML, body

B、HTML, Body, Title, Head

C、HTML, Title, Head, Body

D、HTML, Head, Title, Body


3、WWW是 万维网 的意思。(B)

A、网页

B、万维网

C、浏览器

D、超文本传输协议


4、浏览网页时,这属于Internet所提供的( D )服务。

A、FTP服务
B、Email服务
C、Telnet 服务
D、www服务


5、在HTML中把整个文档的各个元素作为对象处理的技术是(C)

A、HTML

B、CSS

C、DOM

D、Script 脚本语言


6、在JavaScript 中,实现在浏览器的状态栏中设置自己的信息的选项是 (B)。

A、 statusbar “put your message here”

B、window.status “put your message here”

C、status “put your message here”

D、window.status=“put your message here”

7、在WEB项目的目录结构中,web.xml文件位于( C )中?

A、 Src

B、 META-INF

C、 WEB-INF

D、 WebRoot


8、在Servlet生命周期中,对应服务阶段的方法是( C )?

A、 init()

B、 destroy()

C、 service()

D、 initial()


9、在web编程中,对于cookie的作用说法正确的有( A )?

A、 为了识别不同的用户信息

B、 为了简化程序开发

C、 为了提高程序执行速度

D、 以上说法都不对


10、对于ServletRequest接口的getAttribute()方法,说法正确的是( A )?

A、 获取指定名称的属性值

B、 设置指定属性的值

C、 删除指定属性的值

D、 以上都不对


11、在java Web应用开发中,Servlet程序需要在( B )文件中配置?

A、 Jsp

B、 web.xml

C、 struts.xml

D、 servlet.xml


12、在Java EE中,HttpServletResponse的( B )方法用于一个HTTP请求重定向到另一个资源?

A、 sendURL()

B、 sendRedirect()

C、 forward()

D、 redirectURL()

13、以下哪种格式是正确的URL( A )?

A、 http://localhost:8080/news/index.jsp

B、 http://localhost/8080/news/index.jsp

C、 http://localhost/8080:news/index.jsp

D、 http:localhost://8080/news/index.jsp

14、以下代码中可以正确设置客户端请求编码为UTF-8 的是( A )?

A、 request.setCharacterEncoding(“UTF-8”)

B、 request.setCharset(“UTF-8”)

C、 request.setContentType(“UTF-8”)

D、 request.setEncoding(“UTF-8”)

15、通过response的( A )方法可以设置响应所采用的字符编码类型?

A、 setCharacterEncoding()

B、 setCharset()

C、 setEncoding()

D、 setContentType()


16、在部署带有Servlet的Java Web程序时,( D )不是必需的?

A、 web.xml文件

B、 WEB-INF文件夹

C、 classes文件夹

D、 csses文件夹


17、MVC中的 M V C 分别用_______、_______、_____表示(C)?

A、 jsp servlet javabean

B、 HTml javabean jsp

C、 javabean jsp servlet

D、 servlet html jsp


18、以下哪个标签实现了switch功能( C )?

A、 c:if

B、 c:switc

C、 c:choose

D、 c:case


19、过滤器使用(B)才能继续传递到下一个过滤器?

A、 request.getRequestDispatcher().forward(request,response);

B、 doFilter()

C、 doPut()

D、 doChain()


20、能够保留请求作用域中数据的转向方式是?(D)

A、 response.forward()

B、 response.sendRedirect()

C、 session.getRequestDispatcher().forward(request,response)

D、 request.getRequestDispatcher().forward(request,response)


21、JDBC数据库访问中,用于负责管理JDBC驱动、获取数据库连接的是( A )。

A、 DriverManager类

B、 Connection接口

C、 Statement接口

D、 ResultSet接口


22、(单选题)Lombok的主要作用是什么? (B)

A、 增加Java编程语言的复杂性。

B、 减少重复的样板代码。

C、 增加编译时间。

D、 减少程序的性能。

23、使用@Data注解等价于使用哪些Lombok注解的组合?(C)

A、 @Getter, @Setter, @EqualsAndHashCode

B、 @Getter, @Setter

C、 @Getter, @Setter, @ToString, @EqualsAndHashCode

D、 @Getter, @Setter, @ToString


24、MySQL是什么的缩写?(B)

A、My Structured Question Language

B、My Structured Query Language

C、My Select Query Language

D、My Select Question Language


25、以下关于继承的叙述正确的是( A )。

A、在Java中类只允许单一继承

B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口只允许单一继承


26、关于Java语言叙述错误的是:( C)

A、Java语言具有跨平台性

B、Java是一种面向对象的语言

C、Java语言中的类可以多继承

D、Java的垃圾收集机制自动回收程序已不再使用的对象

27、以下叙述正确的是:( B)

A、构造方法必须是public方法

B.main方法必须是public方法

C.Java应用程序的文件名可以是任意的

D.构造方法应该声明为void类型


28、关于Java中数据类型叙述正确的是:( B)

A、整型数据在不同平台下长度不同

B、boolean类型数据只有2个值,true和false

C、数组属于简单数据类型

D、Java中的指针类型和C语言的一样


29、创建表时,不允许某列为空可以使用命令为 (A)。

A、 not null

B、no null

C、not blank

D、no blank


30、select 语句中使用哪个关键字可以将重复行屏蔽(D)。

A、 order by

B、having

C、top

D、distinct


31、select * from city limit 5,10 描述正确的是(C)。

A、获取第 6 条到第 10 条记录

B、获取第 5 条到第 10 条记录

C、获取第 6 条到第 15 条记录

D、获取第 5 条到第 15 条记录


32、若要计算表中数据的平均值,可以使用(B)

A、sqrt

B、avg

C、square

D、count


33、在MySQL语句中,可以匹配0个到多个字符的通配符是(B)

A、 *

B、 %

C、 ?

D、 -


34、若某RESTful API的服务localhost/students是删除学生信息的操作,则应使用哪个动词HTTP动词进行设计?( D )

A、GET

B、POST

C、 PUT

D)、DELETE


35、控制器的类方法中若要采集前端提交的路由参数,应采用如下的哪个注解?(A )

A、@PathVariable

B、@RequestParam

C、@RequestBody

D、@ResponseBody

36、控制器类的方法若要采集前端输入的路径参数,则该方法的注解写法正确的是( A )

A、 @GetMapping(“/person/{name}/{age}”)

B、 @GetMapping(“/person/{:name}/{:age}”)

C、 @GetMapping(“/person/[name]/[age]”)

D、 @GetMapping(“/person/(name)/(age)”)

37、下列用于标注MyBatis接口的注解是( A )

A、 @Mapper;

B、 @Entity;

C、 @Table;

D、 @Configuratio


38、Spring Boot的一个关键特性是什么?(D)

A、 增加了Spring框架的复杂性。

B、 引入了更多的XML配置选项。

C、 强制要求使用Java 7或更高版本。

D、 自动配置。

39、ORM 的缩写代表什么?(D)

A、 Object-Remote Management

B、 Object-Resource Mapping

C、 Object-Relational Model

D、 Object-Relational Mapping


40、在JPA中,什么是实体(Entity)?(B)

A、 一种数据库

B、 一个Java类,用于表示数据库中的数据

C、 一个数据库表的映射

D、 一个Java接口


二、多选题


1、Spring Boot应用程序的配置文件通常命名为什么?(CD)

A、spring.config

B、config.properties

C、 application.properties

D、application.yml


2、Spring Boot中支持的缓存组件有(ABCD)

A、Jcache

B、EnCache2x

C、Redis

D、Caffeine


3、super()说法错误的是(BCD)

A、可以调用父类构造方法

B、可以调用父类函数

C、可以调用父类私有属性

D、可以调用父类静态属性。


4、在关于依赖注入,描述正确的是(BC)

A、依赖注入可以增强系统各组件的依赖关系。

B、所谓依赖注入,就是明确地定义组件接口,独立开发各个组件
,然后根据组件件依赖关系组装运行的设计模式。

C、依赖注入能够降低系统各组件的依赖关系,提倡面向接口编程。

D、Spring的依赖注入和控制反转是完全不同的两个概念。

5、关于迭代器(Iterator),以下说法中错误的是(DE)

A、迭代器是从集合中取出元素,用来遍历的方式。

B、迭代器的hashNext()方法的返回值是boolean类型。

C、List集合有特有迭代器。

D、next()方法将返回集合中的上一个元素 。

E、Iterator的遍历过程中,主要有两个属性进行控制:value属性表示遍历是否结束;done属性表示 当前成员的值。

6、List集合的遍历方式有如下哪几种 ( ABC )

A、Iterator迭代器实现

B、增强for循环实现

C、get()和size()方法结合实现

D、get()和length()方法结合实现

7、以下关于foreach说法中,哪些是正确的(ABCD)

A、foreach是一种更加简洁的for循环,也是增强for循环 。

B、foreach可以对List。

C、Set数组进行遍历 。

D、foreach的出现,简化了书写。

8、关于java.util.Collections类的叙述,以下哪个为真(BD)

A、Collections类实现Collection接口。

B、Collections类提供有sort方法用于对列表的排序。

C、Collections类的addALL方法每次只能加1个数据到集合中。

D、Collections中shuffle方法将集合中的元素顺序打乱。

9、Arrays常用方法有(ABCDE)

A、指定范围排序

B、toString

C、填充数组

D、数组复制

E、数组转List

10、 Object类中的方法有(ABC)

A、equals

B、wait

C、 toString

D、以上都不是


11、下列标识符不合法的有(ACD )
A、new

B、$Usdollars

C、 1234

D、car、taxi

E、 cat


12、下列说法错误的有( BCD)

A、数组是一种对象

B、数组属于一种原生类

C、int number=[]={31,23,33,43,35,63}

D、数组的大小可以任意改变

E、数组的下标是从零开始的

13、下面属于java基本数据类型的有(BCE)

A、String

B、byte

C、char

D、Array

E、int

14、下列有关JDK, JRE, JVM三者的叙述,正确的是:( ABCD)

A、JDK是Java开发工具包 ,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt、jar)。

B、JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。

C、JVM是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为、class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行

D、JDK中包含了JRE,JRE又包含JVM。

E、JRE中包含了JDK,JDK又包含JVM。


15、SpringBootWeb常见的请求响应注解有(ABCDE)

A、@RequestParam

B、@DateTimeFormat

C、@RequestBody

D、@PathVariable

E、@ResponseBody

三、填空

  1. 表单的提交有两种方式,分别是: get、post
  2. < tr>….< /tr>是用来定义表格的一行;< td>…< /td>是用来定义表格的一列
  3. 表格的标签是table,单元格的标签是td
  4. 在CSS层叠样式表当中经常用到的三种选择器:元素选择器、类选择器、id选择器
  5. CSS样式遵循就近原则
  6. 在HTML中,引入CSS的方法主要有行内式、内嵌式、导入式、链接式 4种。
  7. 面向对象程序设计所具有的基本特征是:抽象性,封装性,继承性,多态性
  8. 数组x定义如下int x[ ] [ ]=new int[3 ] [ 2],则 x…length的值为3,x[0]、length的值为2
  9. Java中实现多线程一般使用两种方法,一是继承Thread类,二是实现Runnable方法
  10. 添加记录的SQL关键字是 Insert
  11. 删除记录的SQL关键字是Delete
  12. 查找记录的SQL关键字是Select
  13. 修改记录的SQL关键字是Update
  14. 在Vue中为HTML标签绑定属性值,如设置 href , css样式等的指令是v-bind
  15. 在Vue中在表单元素上创建双向数据绑定的指令是v-model
  16. 在Vue中用来给html标签绑定事件的指令是v-on。
  17. 在Vue中用来遍历数据的指令是v-for。
  18. 在Vue中去掉url中的#号,需要在index、js中配置mode为_history。
  19. @RestController注解等于@Controller@ResponseBody 注解的组合
  20. SpringBoot运行主启动类后,默认将项目部署在8080 端口。
  21. 在SringBoot项目中,Spring容器通过@Service 注解来标识服务层。
  22. 在SringBoot项目中,Spring容器通过@Mapper/@Repository注解来标识持久层。

四、判断题

  1. Java的源代码中定义几个类,编译结果就生成几个以“、class”后缀的字节码文件。(Y)
  2. Java Applet是由独立的解释器程序来运行的。(N)
  3. Java Application是由独立的解释器程序来运行的。(Y)
  4. Java Applet的字节码文件必须嵌入HTML的文件中并由负责解释HTML文件的WWW浏览器充当解释器来解释运行。(Y)
  5. Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。(Y)
  6. Java中数组的元素只能是简单数据类型的量。(N)
  7. Vector类中的对象不能是简单数据类型。(Y)
  8. Java的String类的对象既可以是字符串常量,也可以是字符串变量。(N)
  9. Java中用户自定义的图形界面元素也可以响应用户的动作,具有交互功能。(N)
  10. Java的屏幕坐标是以像素为单位,容器的左上角被确定为坐标的起点。(Y)
  11. 在Java中,并非每个事件类都只对应一个事件。(Y)
  12. 一个类只能有一个父类,但一个接口可以有一个以上的父接口。(Y)
  13. 由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。(N)
  14. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。(Y)
  15. 注释的作用是使程序在执行时在屏幕上显示//之后的内容。(N)
  16. Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。(N)
  17. 所有的鼠标事件都由MouseListener监听接口的监听者来处理。(N)
  18. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。(N)

无、简答题

1、什么是JavaScript?

答:

JavaScript是客户端和服务器端脚本语言,可以插入到HTML页面中,并且是目前较热门的Web开发语言。同时,JavaScript也是面向对象编程语言。

2、列举Java和JavaScript之间的区别?

答:

Java是一门十分完整、成熟的编程语言。相比之下,JavaScript是一个可以被引入HTML页面的编程语言。这两种语言并不完全相互依赖,而是针对不同的意图而设计的。 Java是一种面向对象编程(OOPS)或结构化编程语言,类似的如C ++或C,而JavaScript是客户端脚本语言,它被称为非结构化编程。


3、什么是===运算符?

答:

===被称为严格等式运算符,当两个操作数具有相同的值而没有任何类型转换时,该运算符返回true。

4、在JavaScript中如何使用DOM?

答:

DOM代表文档对象模型,并且负责文档中各种对象的相互交互。DOM是开发网页所必需的,其中包括诸如段落,链接等对象。可以操

作这些对象以包括添加或删除等操作,DOM还需要向网页添加额外的功能。除此之外,API的使用比其他更有优势。


5、call()和.apply()之间有什么区别?

答:

函数.call()和.apply()在使用上非常相似,只是有一点区别。当程序员知道函数参数的编号时,使用.call(),因为它们必须在调用语句中被提及为参数。另一方面,当不知道数字时使用.apply(),函数.apply()期望参数为数组。


.call()和.apply()之间的基本区别在于将参数传递给函数。它们的用法可以通过给定的例子进行说明。


6、请简述什么是Vue。

答:

Vue(读音/Vjuː/,类似于View)是一套用于构建用户界面的渐进式框架,与其他大型框架相比,Vue被设计为可以自底向上逐层应用。

其他大型框架往往一开始就对项目的技术方案进行强制性的要求,而Vue更加灵活,开发者既可以选择使用Vue来开发一个全新项目,也

可以将Vue引入到一个现有的项目中。

Vue;两大特点:响应式编程,组件化


7、请列出Vue指令常用内部指令,至少6个。

答:

v-model:双向数据绑定

v-on:监听事件

v-bind:单向数据绑定

v-text:插入文本内容

v-html:插入包含HTML的内容

v-for:列表渲染

v-if:条件渲染

v-show:显示隐藏


8、请简述什么是Vue实例对象。

答:

在Vue项目中,每个Vue应用都是通过Vue构造器创建新的Vue实例开始的。

通过new关键字的方式创建vm实例对象。

创建方式:

<script>
var vm = new Vue({
  // 选项
})
<script>

其中,配置选项的主要内容及含义:

  1. data:Vue实例数据对象
  2. methods:定义Vue实例中方法
  3. components:定义子组件
  4. computed:计算属性
  5. filters: 过滤器
  6. el: 唯一根元素
  7. watch: 监听数据变化

9、显示/隐藏div

答:

界面有三个按钮分别是显示,隐藏和切换。还有一个div三个按钮分别绑定三个事件。

div用v-if绑定一个Vue实例中的数据msg;

  • 显示事件:this.msg=true
  • 隐藏事件:this.msg=false
  • 切换事件:this.msg=!this.msg

10、动态加载商品列表

答:

v-for要写在标签里面。格式为item in items;Items是在Vue实例data属性中的数组。格式为items:[{ },{ },];

 <th>{{item.变量名}}</th>

11、简述一下三层架构Controller、Service、Dao层的职责?

答:

1.Controller: 接受请求、响应数据

2.Service:逻辑处理

3.Dao:数据访问

12、简述Lombok中@Data、@NoArgsConstructor、@AllArgsConstructor

答:

1.@Data注解:它可以自动生成Java类的getter和setter方法、equals方法、hashCode方法和toString方法,使用@Data注解可以大大减少Java类中的样板代码。

2.@NoArgsConstructor:该类用于创建⽆参的构造⽅法

3.@AllArgsConstructor:该类用于创建有参的构造⽅法


13、简述@Controller、@Service、@Repository、@Component注解的区别和用法?

答:

1.@Controller、@Service、@Repository都是@Component的衍生注解

2.@Controller:标注在控制类上

3.@Service:标注在业务类上

4.@Repository:标注在数据访问类上(由于与mybatis整合,用的比较少,更多采用@Mapper)

5.@Component:不属于以上三类时,用此注解。


14、简述this关键字的概念和作用?

答:

1.this是”这个“的意思。在java中表示当前类的对象, 可以理解成指向对象本身的一个指针。通俗地说就是表示当前类对象”自己“,它是在对象被创建时自动产生的。 我们使用this,可以用来调用本类的属性、方法、构造方法。 当我们在构造方法中使用this时,this表示的是当前类的成员变量。

2.表示当前类对象;调用当前类中的属性;调用当前类的方法或构造方法。


15、简述一下常见的数据库连接池以及SpringBoot默认的数据库连接池为?

答:

1.常见的数据库连接池:C3P0、DBCP、Druid、Hikari

2.SpringBoot默认的数据库连接池为Hikari


六、程序分析题

import jdk.nashorn.internal.runtime.options.Option;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

@RestController
public class BookController {
    @Autowired
    private BookRepository bookRepository;
    // 获取书籍列表
    @GetMapping("/books")
    public List<Book> getBooks(){
        return bookRepository.findAll();
	}

	// 增加书籍
	@PostMapping("/books")
   public Book saveBook(@RequestBody Book book){
        System.out.println(book.getName());
       bookRepository.save(book);
        return book;
	}

	// 修改书籍
	@PutMapping ("/books/{id}")
	//修改
    public Book updateBook(@RequestBody Book book, @PathVariable Integer id){
        Optional<Book> op=bookRepository.findById(id);
        if(op.isPresent()){
            Book book_fd=op.get();
            book_fd.setIsbn(book.getIsbn());
            book_fd.setName(book.getName());
            book_fd.setPress(book.getPress());
            bookRepository.save(book_fd);
            return book_fd;
        }else{
            return null;
        }
    }
    
	@DeleteMapping ("/books/{id}")
	//删除书籍
    public void deleteBook(@PathVariable Integer id){
        bookRepository.deleteById(id);
    }
}
  • 66
    点赞
  • 249
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值