Java开发工程师面试-Web基础与数据处理

Servlet执行流程

  • 客户端浏览器向Tomcat服务器发送Http请求
  • Tomcat解析web.xml文件,找到对应的url以及servlet-name,根据servlet-name找到对应的servlet进行实例化
  • 执行servlet的service方法
  • 将service执行结果响应给浏览器
  • 浏览器解析然后展示


补充

  • Servlet默认情况下是第一次访问时实例化的,也可以通过web.xml配置load-on-startup,使其在服务器启动的时候实例化
  • Servlet是单例的,利用多线程来提供web服务

Servlet生命周期是什么

  • 装载 – web.xml
  • 创建 – 构造函数
  • 初始化 – init()
  • 提供服务 – service()
  • 销毁 – destory()

Http请求的结构

  • HTTP请求包含三部分:请求行、请求头、请求体

  • get请求没有请求体

Http响应的结构

  • HTTP响应包含三部分:响应行、响应头、响应体

请求转发

  • 请求转发是服务器跳转,只会产生一次请求
  • 请求转发语句是:request.getRequestDispatcher().forward()

响应重定向

  • 重定向则是浏览器端跳转,会产生两次请求
  • 响应重定向语句是:response.sendRedirect()

请阐述Session的原理

Session即用户会话,与客户端浏览器窗口绑定的,存储在服务器内部的数据。 

当浏览器第一次向Tomcat发送请求,Tomcat收到请求后,会在运行内存中创建一个全新的存储空间,并赋予一个SessionId;如果我们使用session.setAttribute()方法,会把值存放到内存空间(自定义属性);处理完后响应回传SessionId给浏览器,浏览器会把SessionId保存到Cookie中;第二次请求时,SessionId会发送给Tomcat,Tomcat发现已经存在,调用session.getAttribute()方法会把存储内容直接响应。

JSP九大内置对象是什么

Statement和PreparedStatement的区别

  • PreparedStatement是预编译的SQL语句,效率高于Statement
  • PreparedStatement支持?操作符,相对于Statement更加灵活
  • PreparedStatement可以防止SQL注入,安全性高于Statement

JDBC使用步骤

  • 加载JDBC驱动
  • 创建数据库连接(Connection)
  • 创建命令(Statement)
  • 处理结果(ResultSet)
  • 关闭连接

感谢耐心观看!!!
如有不足,欢迎指出,一起成长!
如有帮助,请点赞给予支持,感谢!

Tags: