Java面试知识点4——JavaWeb

本文涵盖了JavaWeb开发中的核心概念,包括Servlet的生命周期、Tomcat如何创建Servlet实例、JSP与Servlet的区别、JDBC数据库操作步骤、使用PreparedStatement的原因、Cookie与Session的对比、过滤器、拦截器和监听器的功能区分,以及SpringMVC框架和Ajax的基本理解。
摘要由CSDN通过智能技术生成

Java面试知识点4——JavaWeb

1.什么是Servlet?它的生命周期有哪些?

答:servlet是用来处理客户端请求并产生动态网页内容的java类。
生命周期包括:加载、初始化、请求处理、销毁。

2.Tomcat是如何创建servlet类实例?用到了什么原理?

答:当tomcat启动时,会读取在webapps目录下所有的web应用中的web.xml文件;然后对xml文件进行解析,并读取servlet注册信息;最后将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化

3.jsp和servlet的区别和联系

答:(1)jsp经编译后就变成了Servlet,JSP本质就是Servlet。
(2)jsp更擅长表现于页面显示,servlet更擅长逻辑控制
(3)Servlet中没有内置对象,Jsp中的内置对象都必须是通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。
(4)Jsp是Servlet的一种简化联系,JSP是Servlet技术的扩展,本质上是Servlet的简易方式。

4.JDBC操作数据库的步骤是什么?

答:第一步:Class.forName()加载数据库连接驱动;
第二步:DriverManager.getConnection()获取数据连接对象;
第三步:根据SQL获取sql会话对象,有2种方式:Statement、PreparedStatement;
第四步:执行SQL处理结果集,执行SQL前如果有参数值就设置参数值 setXXX();
第五步:关闭结果集、关闭会话、关闭连接。

5.使用PreparedStatement的原因。

答:(1)PreparedStatement 接口继承Statement,执行速度要快于Statement对象。
(2)作为Statement的子类,PreparedStatement继承了Statement的所有功能。

6.什么是Cookie?什么是Session?简述Cookie和session区别

答:Cookie:是客户端保存用户信息的一种机制,用来记录用户的一些信息,它的过期时间可以任意设置,如果不主动清楚,很长一段时间都能保留。
Session:是在无状态的HTTP协议下,服务端记录用户状态时,用于标识具体用户的机制,它是在服务端保存的用于跟踪用户状态的数据机构,可以保存在文件、数据库或者集群中。

区别: (1)cookie数据存放在客户的浏览器上,session数据放在服务器上。
(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,因此,考虑到安全性,应使用session。
(3)session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。
(4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
(5)建议将登录信息等重要信息存放为SESSION,其他信息如果 需要保留,可以放在COOKIE中。

7.Tomcat是如何创建servlet类实例?用到了什么原理?

答:当tomcat启动时,会读取在webapps目录下所有的web应用中的web.xml文件;然后对xml文件进行解析,并读取servlet注册信息;最后将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。

8.Servlet是单例的还是多例的?

答:Servlet是(默认)单例模式创建的,只实例化一次,同一个Servlet可以处理多个用户请求,当同时有两个用户访问时,则会启动两个负责处理请求的Servlet线程,所以会出现线程安全问题。

9.过滤器、拦截器以及监听器的区别?

答:过滤器、监听器以及Servlet是JavaWeb中的核心三个组件(Servlet用于处理用户请求)
监听器用户监听整个应用陈故乡,例如:ServletContext容器创建销毁,Session创建销毁等。
过滤器用于过滤用户请求,过滤资源路径可以在web.xml中配置,也可以使用@WebFilter注解配置。
拦截器是SpringMVC中的技术,对请求进行拦截,拦截的是进入到SpringMVC框架内部的请求,Filter可以拦截所有的Web请求。

10.什么是SpringMVC?简单介绍下你对springMVC的理解?

答:Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,
通过把Model(模型),View(视图),Controller(控制器)分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
优点:
(1)可以支持各种视图技术,而不仅仅局限于JSP
(2)与Spring框架集成
(3)清晰的角色分配:前端控制器,请求到处理器映射,处理器适配器,视图解析器
(4)支持各种请求资源的映射策略

11.你对Ajax了解吗?说说你对Ajax的理解。

答:Ajax是客户端给服务端发送消息的工具,以及接受响应的工具。

异步请求:发送一个请求,不需要等待响应返回,随时可以再发送下一个请求。
在这里插入图片描述
具体操作流程:

  • 首先通过PHP页面将数据库中的数据取出
  • 取出后,转为Json格式的字符串,然后利用Ajax把字符串返回给前台
  • 再利用json.parse解析通过循环添加到页面上
  • 反过来,前段的数据可以利用Ajax提交到后台
  • 但是后台没有办法直接把这些数据插入到数据库中,所以要先提交到PHP页面上
  • 最后再由PHP将数据插入到数据库中

待更新…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值