发布时间:2023-05-08 文章分类:WEB开发, 电脑百科 投稿人:王小丽 字号: 默认 | | 超大 打印

JavaWeb复习题

    • 1. 注册Servlet的两种方式是什么
    • 2. 简述Servlet的生命周期
    • 3. 简述Servlet会话管理的两种实现技术
    • 4. 注册Servlet时,load-on-startup标签和loadOnStartup注解参数的作用是什么
    • 5. 简述HttpServletRequest、HttpServletResponse的作用
    • 6. 简述HttpServletResponse的重定向功能
    • 7. 简述HttpServletRequest的转发功能
    • 8. 简述Servlet过滤器功能
    • 9. MVC的M、V、C分别表示什么。简述MVC的三个字母意思
    • 10. EL表达式取值的方法
    • 11. JSTL标签库中,对集合对象进行循环迭代操作的标记是什么
    • 12. 简述PreparedStatement对象的作用
    • 13. 简述Spring依赖注入的方式
    • 14. 简述Spring Bean实例化方式
    • 15. 简述Spring Bean的作用域
    • 16. 简述Spring Bean容器配置方式(装配方式)
    • 17. 什么是DI和IoC
    • 18. 什么是AOP
    • 19. 简述Spring JDBCTemplate类的作用
    • 20. 什么是MyBatis,简述其执行过程
    • 21. 什么是Spring MVC,简述其执行过程
    • 22. @Controller的作用
    • 23. @RequestMapping的作用
    • 24. 视图解释器的作用
    • 25. @RequestParam的作用
    • 26. 简述Spring MVC数据类型转换的3种方法
    • 27. 简述Spring MVC数据校验的两种方式
    • 28. Spring MVC拦截器的作用,简述HandlerInterceptor类的3个方法什么时间点执行
    • 29. 简述@RequestBody和@ResponseBody注解的作用
    • 30. 简述Spring MVC文件上传的两种方式

1. 注册Servlet的两种方式是什么

一种是在web.xml文件中注册
一种是在servlet类前使用注解注册(@webservlet)

2. 简述Servlet的生命周期

servlet的首先被访问的时候,会实例化一个servlet对象,然后立刻调用init方法对其进行初始化,之后此servlet对象就一直驻留在服务器中对客户端传来的请求进行响应,直到服务器关闭时,通过jvm垃圾回收器被回收卸载

3. 简述Servlet会话管理的两种实现技术

servlet会话管理的两种基本实现技术分别是cookie和session,cookie将数据保存在客户端浏览器中(若设置有效期则会保存在硬盘上),保存的数据有限制。而session将数据保存在服务器中,可以实现保存跨一个客户多个请求的会话状态

4. 注册Servlet时,load-on-startup标签和loadOnStartup注解参数的作用是什么

load-on-startup标签可以设置servelt的加载优先级和是否在启动容器中时加载,如果值为正整数,则在启动容器时加载,并且值越小的优先级越高,如果为负数,那就是用到时再加载。

5. 简述HttpServletRequest、HttpServletResponse的作用

他们是web交互最基本的方式,request对象代表了用户的一次请求,可以用来获取客户端的请求参数。
response对象是对用户请求的响应,可以设置对用户返回的信息,比如设置状态码、响应头信息、设置响应正文、重定向

6. 简述HttpServletResponse的重定向功能

重定向是指客户端发来一个页面请求,服务端进行处理后返回一个响应,这个响应是让他去请求另一个页面。也就是说重定向客户端有两次请求。

7. 简述HttpServletRequest的转发功能

转发就是客户端请求一个页面,而这个页面又会去请求另一个页面,并且最终返回给客户端的是另一个页面。也就是说转发客户端只有一次请求,并且转发不能访问工程外部资源。

8. 简述Servlet过滤器功能

servlet是服务器端和客户端之间的中间层组件,用于拦截请求和响应,并将经过过滤的数据传给下一个资源。

9. MVC的M、V、C分别表示什么。简述MVC的三个字母意思

M层是业务层,表示业务数据和业务逻辑
v层是视图层,是用户进行交互的一层
c层是控制层,他根据用户的输入来更新m层的业务数据,并将其在v层显示给用户

10. EL表达式取值的方法

el表达式只可以从作用域中取值,并且是从四个作用域(页面域、请求域、会话域、上下文域)之中,从小到大的去获取

11. JSTL标签库中,对集合对象进行循环迭代操作的标记是什么

c:forEach

12. 简述PreparedStatement对象的作用

这个对象是预编译的mysql语句的对象,可以使用它来多次执行sql,效率更高,并且还可以防止sql注入攻击

13. 简述Spring依赖注入的方式

构造方法注入;
setter方法注入;
接口注入

14. 简述Spring Bean实例化方式

使用类的构造函数创建
使用静态工厂创建
使用动态工厂创建

15. 简述Spring Bean的作用域

bean的作用域指的是这个bean对象相对于其他bean对象的请求可见范围。

16. 简述Spring Bean容器配置方式(装配方式)

第一种是基于xml的装配方式,他需要bean有一个无参构造函数,并且需要设置一个set方法
第二种是在java中通过注解的形式来装配
第三种是自动装配

17. 什么是DI和IoC

ioc是控制反转的意思,是一种设计思想,就是将自己本身对象中的内置对象的控制权反转,使得自己本身的对象并不直接控制内置对象,而是交给第三方去控制内置对象的创建
dl是依赖注入,他是ioc的一种具体实现,也就是通过注入的方式创建内置对象。

18. 什么是AOP

aop是面向切面编程,是在不修改源代码的基础上,通过预编译方式和动态代理实现给程序动态统一增加功能。

19. 简述Spring JDBCTemplate类的作用

这个类就是用于和数据库进行交互,它提供了大量更新和查询数据库的方法

20. 什么是MyBatis,简述其执行过程

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架
首先读取mybatis配置文件,获取一个字节流对象
其次创建一个sesionFactory工厂,然后用它再创建一个sqlsession对象,这个对象中包含了所有操作sql数据库的方法,之后使用它去执行具体操作。

21. 什么是Spring MVC,简述其执行过程

SpringMVC是web层用于替代servlet的一个框架
当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。

22. @Controller的作用

他可以将类变成控制器类,使得这个类中的每个方法都可以访问调用@Service标识的类

23. @RequestMapping的作用

是一个用来处理http请求地址和控制器类映射的注解,表示类中的所有响应请求的方法都是以该地址作为父路径

24. 视图解释器的作用

根据返回的逻辑视图找到对应的物理视图,并且将其封装成一个View对象,由视图渲染器进行视图的渲染最终展现给用户

25. @RequestParam的作用

获取URL中携带的请求参数的值,也就是URL中“?”后携带的参数,传递参数的格式是:key=value

26. 简述Spring MVC数据类型转换的3种方法

  1. 实体类中加日期格式化注解
  2. 在controller层中加入一段数据绑定代码
  3. 使用xml配置实现类型转换(系统全局转换器)

27. 简述Spring MVC数据校验的两种方式

基于 Validator 接口,需要自定义 Validator 验证器
使用 Annotation JSR - 303 标准进行校验,通过注解的方式可以直接在实体类中添加每个属性的验证规则

28. Spring MVC拦截器的作用,简述HandlerInterceptor类的3个方法什么时间点执行

用于拦截请求和响应,对处理器进行预处理和后处理。
prehandler在请求处理之前执行
postHandler 方法在当前请求进行处理之后执行
afterCompletion方法将在整个请求结束之后执行

29. 简述@RequestBody和@ResponseBody注解的作用

  1. @RequestBody用于读取 Request 请求的 body 部分数据,使用系统默认配置的方法进行解析,然后把相应的数据绑定到要返回的对象上;再把 返回的对象数据绑定到 controller 中方法的参数上
  2. @ResponseBody是作用在方法上的,将方法的返回结果直接写入 HTTP response body 中

30. 简述Spring MVC文件上传的两种方式

  1. 第一种方式,通过流上传文件
  2. 通过springMVC自己的文件上传解析器上传文件,效率比第一种更快