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)
- 关闭连接
感谢耐心观看!!!
如有不足,欢迎指出,一起成长!
如有帮助,请点赞给予支持,感谢!