面试题总结

本文详细探讨了Java EE面试中常见的技术问题,包括请求转发与重定向的区别,JSP和Servlet的关系,Cookie与Session的区别,JDBC访问数据库的步骤,PreparedStatement与Statement的对比,事务的ACID属性,以及MyBatis和Spring的核心概念。对于每个主题,文章深入讲解了各自的特性和应用场景,是Java EE开发者面试准备的宝贵资料。
摘要由CSDN通过智能技术生成

目录

请求转发和重定向的区别

从地址栏信息来说

从数据共享来说

从运用方面来说:

从权限角度来说:

从效率来说

JSP和Servlet的关系

本质区别:

效率来讲

Cookie和Session的的区别

JDBC访问数据库的基本步骤是什么?

说说preparedStatement和Statement的区别

效率来讲:

安全性:

代码示例

数据库连接池的原理。为什么要使用连接池。

什么是事务

事务的ACID属性:

drop,delete与truncate的区别

在MyBatis中,#{}和${}的区别是什么?

Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

查询语句不同元素(where、jion、limit、group by、having等等)执行先后顺序?

Spring的核心是什么?


请求转发和重定向的区别

从地址栏信息来说

foword是服务器请求资源,,服务器直接访问目标的URL,把那个URl响应的内容读取出来,然后把读取的内容发给浏览器,浏览器不知道服务器发送的内容是什么,从哪里来的,所以地址栏还是原来的地址,

redirect 是服务端根据逻辑,发送一个状态码,告诉浏览器请求的地址,地址栏显示的是新的URL

从数据共享来说

foword,转发页面和转发到的页面可以共享request(请求域)里面的数据,redirect不能共享request(请求与)数据,

从运用方面来说:

foword一般用于用户登录,根据角色转发到相应的模块,redirect:一般用于用户的页面跳转(注销登录,返回主页面/登录页面,和跳转到其他网站),

从权限角度来说:

请求转发能访问WEB-INF下的资源,而重定向不能,

请求转发能只能访问站内资源,而重定向既能访问站内静态资源,同时也能访问站外资源,例如百度等

从效率来说

请求转发效率高于重定向,当使用重定向时,

服务端会给浏览器发出消息:准备重定向-->浏览器收到消息服从命令,确认-->服务器重定向

server发送请求-->client 收到消息确认 -->servier 请求重定向 -->页面更新或者变化,

所以重定向后台两次server动作,效率较低

JSP和Servlet的关系

Servlet是一个运行在web服务器(如tomcat服务器)端的用java编写的小程序,运行在JVM虚拟机中,支持向浏览器页面显示内容,JSP本质是Servlet的一种简易形式,JSP可以被服务器处理成类似与Servlet的java程序,可以简化页面内容,.JSP可以让页面美化,动态内容,以及让代码更简单.

本质区别:

Sertlet应用逻辑是在java文件中,完全从表示层的HTML抽离出来.

而JSP则是java和HTML可以组合成一个扩展名.jsp文件,

效率来讲

JSP只需要写HTML代码就行了,至于java代码在Servlet里面写,

因为servlet也可以写html代码显示给浏览器,但是要复杂很多,拼接麻烦,

所以在jsp中写html代码更简单.效率更高

两者结合,写代码的效率更高.

Cookie和Session的的区别

1,session 在服务器端,cookie 在客户端(浏览器)

2,session 默认被存在在服务器的一个文件里(不是内存)

3,session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)

4,session 可以放在 文件、数据库、或内存中都可以。

5,用户验证这种场合一般会用 session

JDBC访问数据库的基本步骤是什么?

1,加载驱动

2,通过DriverManager对象获取连接对象Connection

3,通过连接对象获取会话

4,通过会话进行数据的增删改查,封装对象

5,关闭资源

顺口溜:贾琏欲执释

说说preparedStatement和Statement的区别

效率来讲:

预编译(preparedStatement)会话比普通会话快,数据库系统不会对相同的sql够进行再次编译;

安全性:

preparedStatement:可以有效的避免sql注入的问题,

Stetement:会出现sql注入的风险;sql注入就是攻击从客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值