Java每日5问(第21天)

execute,executeQuery,executeUpdate 的区别是什么?

1、Statement 的 execute(String query)方法用来执行任意的 SQL 查询,如果查询的结果是一个ResultSet,这个方法就返回 true。如果结果不是 ResultSet,比如 insert 或者 update 查询,它就会返回 false 。 我们可以通过它的 getResultSet 方法来获取 ResultSet , 或者通过getUpdateCount()方法来获取更新的记录条数。
2、Statement 的 executeQuery(String query)接口用来执行 select 查询,并且返回 ResultSet。即使查询不到记录返回的 ResultSet 也不会为 null。我们通常使用 executeQuery 来执行查询语句, 这样的话如果传进来的是 insert 或者 update 语句的话, 它会抛出错误信息为“executeQuery method can not be used for update”的 java.util.SQLException。 ,
3、Statement 的 executeUpdate(String query)方法用来执行 insert 或者 update/delete(DML) 语句,或者 什么也不返回,对于 DDL 语句,返回值是 int 类型,如果是 DML 语句的话,它就是更新的条数,如果是 DDL 的话,就返回 0。
只有当你不确定是什么语句的时候才应该使用 execute() 方法, 否则应该使用
executeQuery 或者 executeUpdate 方法。

JDBC 的 ResultSet 是什么?

在查询数据库后会返回一个 ResultSet,它就像是查询结果集的一张数据表。
ResultSet 对象维护了一个游标,指向当前的数据行。开始的时候这个游标指向的是第一行。如果调用了 ResultSet 的 next()方法游标会下移一行,如果没有更多的数据了,next()方法会返回 false。可以在 for 循环中用它来遍历数据集。
默认的 ResultSet 是不能更新的,游标也只能往下移。也就是说你只能从第一行到最后一行遍历一遍。不过也可以创建可以回滚或者可更新的 ResultSet
当生成 ResultSet 的 Statement 对象要关闭或者重新执行或是获取下一个 ResultSet 的时候,ResultSet 对象也会自动关闭。
可以通过 ResultSet 的 getter 方法,传入列名或者从 1 开始的序号来获取列数据。

什么是 Servlet?

Servlet 是使用 Java Servlet 应用程序接口(API)及相关类和方法的 Java 程序,所有的 Servlet 都必须要实现的核心接口是 javax.servlet.servlet。每一个 servlet 都必须要直接或者间接实现这个接口,或者继承 javax.servlet.GenericServlet 或 javax.servlet.HTTPServlet。
Servlet 主要用于处理客户端传来的 HTTP 请求,并返回一个响应。

doGet 和 doPost 方法有什么区别?

doGet:GET 方法会把名值对追加在请求的 URL 后面。因为 URL 对字符数目有限制,进而限制了用在客户端请求的参数值的数目。并且请求中的参数值是可见的,因此,敏感信息不能 用这种方式传递。

doPOST:POST 方法通过把请求参数值放在请求体中来克服GET 方法的限制,因此,可以发送的参数的数目是没有限制的。最后,通过 POST 请求传递的敏感信息对外部客户端是不可见的。

JSP 有哪些动作?分别是什么?

JSP 共有以下 6 种基本动作
jsp:include:在页面被请求的时候引入一个文件。jsp:useBean:寻找或者实例化一个 JavaBean。jsp:setProperty:设置 JavaBean 的属性。jsp:getProperty:输出某个 JavaBean 的属性。jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记

扫描二维码关注公众号,回复: 11515095 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_39899164/article/details/107007900