关于jsp中" 对只转发结果集的无效操作: last "异常
因为初学,所以,在建立Statement时使用默认参数。导致在使用执行rs.last()时,产生“java.sql.SQLException:对只转发结果集的无效操作:last”的异常。
最后在建立Statement时加入相关参数,就可以解决了。
操作查询结果集的过程中出现异常
出现异常的语句: rs.last();
异常的详细信息:对只转发结果集的无效操作: last
解决办法: stat = conn.createStatement();
改为 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 就可以了
分析: 异常出现于移动结果集的指针时,原因是在生成statement对象的时候提供的参数不同
无参数的那个方法使用的是默认参数,statement执行后得到的结果集类型为 ResultSet.TYPE_FORWARD_ONLY.这种类型的结果集只能通过rs.next();方法逐条读取,使用其他方法就会报异常. 如果想执行一些复杂的移动结果集指针的操作就要使用其他参数了
顺便简单介绍一下各个参数:
ResultSet.TYPE_FORWARD_ONLY (略)
ResultSet.TYPE_SCROLL_INSENSITIVE 双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。
ResultSet.TYPE_SCROLL_SENSITIVE 双向滚动,并及时跟踪数据库里的更新,以便更改ResultSet中的数据。
ResultSet.CONCUR_READ_ONLY 只读取ResultSet
ResultSet.CONCUR_UPDATABLE 用ResultSet更新数据库
相关文档:
在JSP/Servlet 中主要有以下几个地方可以设置编码,pageEncoding="UTF-8"、contentType="text/html;charset=UTF -8"、request.setCharacterEncoding("UTF-8")和response.setCharacterEncoding ("UTF-8"),其中前两个只能用于JSP中,而后两个可以用于JSP和Servlet中。
1、pageEncoding="UTF-8"的作用是设置JSP编译成Servlet ......
很多例如登录或者注销登录的地方需要使用到Cookie,今天学到在JSP中如何操作Cookie分享下
4.Cookie类常用的方法
1.setValue()/getValue() —>获取cookie对象的值。
2.getName()—>获取cookie对象的名称,循环的时候可以有选择的使用Cookie
3.setMaxAge()/getMaxAge()—>设置或获取cookie对象有 ......
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page errorPage="jsp3_error.jsp" %>
<%@ page import="java.util.*,java.io.*" %>
<html>
<head>
<title>
jsp综合应用
</title>
</head>
<jsp:useBean id="jsp3BeanId" scope="session" class="pan ......
//JSP禁止缓存代码
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
//网络上的不能正确运行代码参考
if(request.getProtocol().compareTo("HTTP/1.0")==0)
{
......
简单示例
JSP页面中,我们经常有引用各种图片等资源,例如下面的jsp片段中
<div class="main">
<a href="http://www.sina.com.cn/abc.htm">
<strong>我的档案</strong>
&nbs ......