<a href="my.jsp?my_id=<%=my_last_id%>">
select top 20 * from mytable where my_id > my_last_id    JavaBeans组件是可以轻松地在应用程序重用和集成的java类。任何符合普通规范的java类都可以成为一个JavaBeans组件。
    JSP使用JSP语言元素直接支持JavaBeans组件。可以很容易地创建和初始化一个Beans并且读取和修改它们的属性值。
    让我们先从一个最简单的例子开始
MyFirstBeans.java
//注意有包,当然可以没有包,但还是让我们从有包的开始吧(毕竟有包的容易很多)!
package test;
//注意这里是公有的。当然可以设置成私有的,但那不适宜于初学者使用。
public class MyFirstBeans implements Serializable{ private String name; public MyFirstBeans(){
//这个构造函数在这里完全可以省略,但如果在有其他构造函数时一定要有最好有。要不然怎么在JSP中初始化呢?您当然可以思考一下。
}
//好了,接下来就是我们的get,set属性对(由于初学,所以一定要注意大小写)。
public String getName(){
return name;
} public void setName(String name){
this.name = name;
}
}
    好了,就这样编译好,把.class文件放到classes\test(假定是tomcat)中就行完成了第一个JavaBeans。接下来让我们来看看在JSP中怎么调用它。<jsp:useBean type="test.FirstSaveBean" id="tb" beanName="test.FirstSaveBean"/>
<jsp:setProperty name="tb" property="name" value="KillMM"/>
<%=tb.getName()%>    简单吧!
    对就是这样简单。
    其中useBean是固定的,说明这里使用了JavaBeans,至于后面的语法,我们基本上可以从下面的语句中来意识:
<%Type id = new BeanName();%>
    也就是说,上面第一行的语句相当于这样子(注意不是完全一样,至于和什么完全一样,以后再说吧!):
<%test.FirstSaveBean tb = new test.FirstSaveBean();%>
    这个好理解了吧!
    这时我们不难看出来后面的语句了:
<%tb.setName("KillMM");%>
<%=tb.getName();%>
    怎么样,容易吧!
    个人对编程的理解:会了就容易,不会就难。
    为什么要使用JavaBeans呢?或者换句话说:我们为什么要使用jsp:useBean呢?原因很简单,为了可视化编程。就是这么简单的原因。而且使用<%test.FirstSaveBean tb = new test.FirstSaveBean();%>比使用jsp:useBean运行速度要快

解决方案 »

  1.   

    晕,怎么回到这里来了?<%@ page language="java" import="java.util.*,java.sql.*" %>
    <%@ page contentType="text/html;charset=gb2312"%>
    <jsp:useBean id="cn" scope="page" class="myConnection.Conn" /><!--引用数据库操作的bean,自己完成,这里不再赘述-->
    <%
    int curpage=1;//当前页
    int page_record=20;//每页显示的记录数
    //用下面的方法(sql查询完成,速度快)
    curpage=Integer.parseInt(request.getParameter("page"));//获取传递的值,需要显示的页
    ResultSet rs=cn.rsexecuteQuery("select top "+page_record+" * from tablename where id not in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc");
    //本查询语句得到的是所要显示的1000页的20条记录,大致思路为——子查询排除需要显示的记录前的所有记录,父查询则对余下的记录进行降序排列
    while(rs.next) {
      out.println(rs.getInt("id").toString());
    }
    rs.close();
    %>
      

  2.   

    看来session不太适合做分页功能,
    还是要每次换页时都查询一次数据库