JavaWeb面试题

1.Servlet生命周期

Servlet接口有5个方法,其中3个生命周期方法和2个普通方法

  • 实例化:使用构造方法创建对象
  • 初始化:执行init()方法,Servlet的生命周期中,仅执行一次init()方法,它是在服务器装入Servlet时执行的,即第一次访问这个Servlet才执行
  • 服务:执行service()方法,service()方法是Servlet的核心。每当一个客户请求一个HttpServlet对象,该对象的service()方法就被调用
  • 销毁:执行destroy()方法,destroy()方法仅执行一次,在服务器停止且卸装Servlet时执行该方法
public interface Servlet {
    void init(ServletConfig var1) throws ServletException;

    ServletConfig getServletConfig();

    void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;

    String getServletInfo();

    void destroy();
}

2.forward()请求转发和direct()重定向的区别

  • 重定向会改变URL地址,请求转发不会改变URL地址
  • 重定向不可以使用多个作用域的内容,请求转发可以
  • 重定向可以用URL访问外部资源,请求转发只能跳转内部资源
  • 重定向会触发多次请求,请求转发只在内部跳转

3.cookie和session区别

  • cookie数据保存在客户端,session数据保存在服务端
  • cookie不是很安全容易泄露,不能直接明文存储信息
  • cookie大小和数量存储有限制

4.客户端存储有哪些

  • cookie
  • localStorage
  • sessionStorage

5.JDBC连接数据库开发步骤

  1. 加载数据库连接驱动
  2. 获取数据连接对象
  3. 获取语句对象:Statement和PreparedStatement
  4. 执行语句
  5. 处理结果集
  6. 关闭资源,注意关闭顺序以及处理异常rs.close()、st.close()、conn.close()

6.JDBC中的Statement和PreparedStatement区别

  • PreparedStatement在执行之前会进行预编译,效率比Statement高,且能够有效防止SQL注入

  • PreparedStatement支持?占位符而不是直接拼接,提高可读性

7.数据库连接池工作原理和优点

  • 先创建一定数量的连接对象存放在连接池
  • 需要使用连接对象的时候,从连接池中请求一个空闲的连接
  • 使用完毕之后,并不会把连接关闭而是还给连接池
  • 优点
    • 系统响应速度加快
    • 资源利用率高

8.http请求get和post区别

  • get是用来从服务器上获取数据,而post是用来向服务器上传递数据
  • get是不安全的,因为在传输过程中,数据被放在请求的URL中,post是放到body里面,对小白用户不可见
  • get传输的数据量小,主要是由于受URL长度的限制;post可以传输大量的数据,一般上传文件只能用post

9.浏览器输入一个地址,到页面展示中间经历了哪些处理

  1. 浏览器输入url,解析url地址是否合法
  2. 浏览器检查是否有缓存,如果有直接显示。如果没有跳到第三步
  3. 在发送http请求前,需要域名解析(DNS解析),解析获取对应的ip地址
  4. 浏览器向服务器发起tcp链接,完成tcp三次握手
  5. 握手成功后,浏览器向服务器发送http请求
  6. 服务器收到处理的请求,将数据返回至浏览器
  7. 浏览器收到http响应
  8. 浏览器解析响应。如果响应可以缓存,则存入缓存
  9. 浏览器进行页面渲染

10.http和https区别

  • https=http+ssl
  • https有ca证书,http一般没有
  • http是超文本传输协议,信息是明文传输。https则是具有安全性的ssl加密传输协议
  • http默认80端口,https默认443端口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水宝的滚动歌词

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值