204 次浏览
Cookie 通常设置在 HTTP 头部(尽管 JavaScript 也可以直接在浏览器上设置 Cookie)。设置 Cookie 的 JSP 可能会发送类似以下内容的头信息:HTTP/1.1 200 OK Date: Fri, 04 Feb 2000 21:03:38 GMT Server: Apache/1.3.9 (UNIX) PHP/4.0b3 Set-Cookie: name = xyz; expires = Friday, 04-Feb-07 22:03:38 GMT; path = /; domain = tutorialspoint.com Connection: close Content-Type: text/html 正如你所见,Set-Cookie 头包含一个名称值对、一个 GMT 日期、一个路径和一个域。名称和值将进行 URL 编码。expires 字段是一条指令…… 阅读更多
262 次浏览
Cookie 是存储在客户端计算机上的文本文件,它们用于各种信息跟踪目的。JSP 使用底层的 servlet 技术透明地支持 HTTP Cookie。识别和返回用户涉及三个步骤:服务器脚本向浏览器发送一组 Cookie。例如,姓名、年龄或身份证号码等。浏览器将此信息存储在本地机器上以备将来使用。当浏览器下次向 Web 服务器发送任何请求时,它会将这些 Cookie 信息发送到服务器,服务器使用这些信息来识别用户或用于其他目的…… 阅读更多
261 次浏览
Savepoint 接口为您提供了额外的交易控制。大多数现代 DBMS 都支持其环境中的保存点,例如 Oracle 的 PL/SQL。设置保存点时,您将在事务中定义一个逻辑回滚点。如果在保存点之后发生错误,您可以使用回滚方法撤消所有更改或仅撤消保存点之后进行的更改。Connection 对象有两个新方法可以帮助您管理保存点:setSavepoint(String savepointName):定义一个新的保存点。它还返回一个 Savepoint 对象。releaseSavepoint(Savepoint savepointName):删除一个 Savepoint。请注意,它需要一个 Savepoint 对象…… 阅读更多
273 次浏览
我们有两种类型的 ResultSet 对象,即仅向前和双向。顾名思义,您只能在一个方向(向前)移动仅向前 ResultSet 的指针,而在双向 ResultSet 中,您可以双向移动指针。ResultSet 接口提供了多种方法来浏览这两种类型的 ResultSet 对象。下表列出了浏览 ResultSet 对象的各种方法。方法描述next()此方法将结果集指针向前移动一行。Previous()此方法将结果集指针向后移动一行。first()此方法将结果集指针移动到第一行。last()此方法将结果集指针移动到最后一行。relative()此方法接受…… 阅读更多
2K+ 次浏览
转义语法使您可以灵活地使用通过使用标准 JDBC 方法和属性无法获得的特定于数据库的功能。一般的 SQL 转义语法格式如下:{关键字 '参数'}以下是 JDBC 中的各种转义语法:d、t、ts 关键字:它们有助于识别日期、时间和时间戳文字。众所周知,没有两个 DBMS 以相同的方式表示时间和日期。此转义语法告诉驱动程序以目标数据库的格式呈现日期或时间{d 'yyyy-mm-dd'}其中 yyyy = 年,mm = 月;dd = 日期。使用此语法 {d '2009-09-03'} 是 2009 年 3 月 9 日。示例//创建一个 Statement 对象…… 阅读更多
93 次浏览
要更新 ResultSet 的内容,您需要通过将 ResultSet 类型创建为可更新来创建一个语句,如下所示://创建 Statement 对象 Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);就像 getXXX() 和 setXXX() 方法一样,ResultSet 接口还提供用于更新结果集 updateXXX() 中行内容的方法。这些方法接受表示要更新的行索引的整数值,或表示要更新的列标签的字符串值。请注意,如果您需要更新 ResultSet 的内容,则表应具有主键。示例假设我们有一个名为 Employees 的表,其中包含 5 条记录,如下所示…… 阅读更多
274 次浏览
RowSet 是 ResultSet 对象的包装器。它可以连接到数据库,也可以与数据库断开连接,并且可以序列化。它通过设置属性来维护 JavaBean 组件。您可以通过网络传递 RowSet 对象。默认情况下,RowSet 对象是可滚动的和可更新的,它用于使 ResultSet 对象可滚动和可更新。您可以使用 RowSetProvider.newFactory().createJdbcRowSet() 方法获取 RowSet。示例假设我们在数据库中有一个名为 dataset 的表,如下所示:+--------------+-----------+ | mobile_brand | unit_sale | +--------------+-----------+ | Iphone | 3000 | | Samsung | 4000 ... 阅读更多
4K+ 次浏览
以下是存储过程的优点:由于存储过程已编译并存储,因此无论何时调用过程,响应速度都很快。您可以将所有必需的 SQL 语句分组到一个过程中并立即执行它们。由于过程存储在数据库服务器上,因此比客户端快。您可以使用它来执行所有复杂的查询,这将更快。使用过程,您可以避免代码重复,此外,您可以使用其他 SQL 功能,例如调用存储函数。编译存储过程后,您可以在任意数量的应用程序中使用它。如果任何更改…… 阅读更多
3K+ 次浏览
以下是RowSet和ResultSet的区别:ResultSetRowSetResultSet始终保持与数据库的连接。RowSet可以连接,也可以断开与数据库的连接。它不能被序列化。RowSet对象可以被序列化。ResultSet对象不能通过网络传递。您可以通过网络传递RowSet对象。ResultSet对象不是JavaBean对象您可以使用executeQuery()方法创建/获取结果集。ResultSet对象是JavaBean对象。您可以使用RowSetProvider.newFactory().createJdbcRowSet()方法获取RowSet。默认情况下,ResultSet对象不可滚动或不可更新。默认情况下,RowSet对象是可滚动和可更新的。阅读更多
169 次浏览
ResultSet接口的next()方法将当前ResultSet对象的指针/游标从当前位置移动到下一行。此方法返回一个布尔值。如果在其当前位置之后没有行,则此方法返回false,否则返回true。因此,在while循环中使用此方法,您可以迭代ResultSet对象的内容。while(rs.next()){ }获取每个记录的列值ResultSet接口还提供getter方法(getXXX())来检索每一行中每一列的值,每个getter方法有两个变体:getXXX(int columnIndex):接受一个整数作为索引值...阅读更多