网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > JSP实例
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用JSP编写文件上传.
.在jsp中发送email.
.JBuilder2005实战JSP之错误处理(.
.如何使用JSP+MySQL创建留言本(三).
.用JSP/ASP创建WAP应用.
.JSP/JAVABEAN+TOMCAT4.0.5+MYSQL.
.jsp+javascript打造级连菜单.
.jsp源码实例4(搜索引擎).
.jsp留言板源代码二: 给jsp初学者..
.JSP数据库操作例程(Use Bean).
.JSP与SQL SERVER的留言本.
.jsp在线考试系统-jsp文件.
.JSP模板应用指南(上).
.Tomcat5.x中的虚拟主机配置方法.
.邮件发送简单例子-jsp文件.
. jsp计数器代码.
.JSP发送邮件实例.
.在JSP中使用JavaMail(一).
.JSP数据库操作例程(Use Bean).
.jsp源码实例5(cookie).

JSP数据库操作例程(Use Bean)

发表日期:2001-4-26


- 数据分页显示 - JDBC 2.0:ODBC
通过jdbc:odbc可以实现Jsp对数据库的操作,在这个例子中我将数据库的连接写在了一个JavaBean中,可以实现重复使用
pagetest.jsp文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="Htool" scope="session" class="zbean.HtmlTool"/>
<jsp:useBean id="Jodb" scope="session" class="zbean.Jodb"/>
<html>
<head>
<title>数据库分页测试</title>
</head>
<%
//定义ResultSet类
java.sql.ResultSet rst;

//设定Odbc数据源
Jodb.setConnStr("jdbc:odbc:jtest","","");

//设定Jdbc驱动程序
Jodb.setDbDriver("sun.jdbc.odbc.JdbcOdbcDriver");

//执行Sql语句,调用Jodb类的execute方法
rst=Jodb.execute("select * from gbook");
%>


  <%

int startRowNum;
int pageSize=10;
rst.last();
int rowCount=rst.getRow();
int pageCount=(rowCount+pageSize-1)/pageSize;
int intPage;
String strPage=request.getParameter("page");
if(strPage==null)
{
intPage=1;
}
else
{
intPage=java.lang.Integer.parseInt(strPage);
if(intPage<1)intPage=1;
if(intPage>pageCount)intPage=pageCount;
}
startRowNum=(intPage-1)*pageSize+1;
%>
<body>


<div align="center">
<center>
<p>数据库分页测试</p>
<p><%= Htool.getStr(Jodb.pageStr(intPage,pageCount,"pagetest.jsp?","en")) %></p>
<table border="1" width="600" bordercolorlight="#000000" cellspacing="0" cellpadding="2" bordercolordark="#FFFFFF">
  <tr>
   <td width="49"><font size="2">编号</font></td>
   <td width="91"><font size="2">姓 名</font></td>
   <td width="174"><font size="2">电子邮箱</font></td>
   <td width="250"><font size="2">留言</font></td>
  </tr>

<%
for(int i=0;i<pageSize;i++){

rst.absolute(startRowNum+i);

if(rst.isAfterLast())
{
break;
}

%>
<tr>
   <td width="49"><%= rst.getLong("id") %> </td>
   <td width="91"><%= rst.getString("name") %> </td>
   <td width="174"><%= rst.getString("email") %> </td>
   <td width="250"><%= rst.getString("pnote") %> <%= rst.getRow() %></td>
  </tr>
<%
}
%>
</table>
</center>
</div>

</body>
</html>


Jodb.java文件如下:

package zbean;
import java.sql.*;
//import zbean.*;

public class Jodb
{
    public String sdbdriver="sun.jdbc.odbc.JdbcOdbcDriver";
public String sConnStr;
public long count;
String uid;
String pwd;
Connection conn=null;
ResultSet rs=null;

public Jodb()
{
try
{
Class.forName(sdbdriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("Jodb():"+e.getMessage());
}
}


public void setDbDriver(String y)
{
sdbdriver=y;
}

public void setConnStr(String x,String z,String a)
{
sConnStr=x;
uid=z;
pwd=a;
}

public ResultSet execute(String sql)
{
rs=null;


try
{
conn=DriverManager.getConnection(sConnStr,uid,pwd);
Statement stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("Jodb.execute():"+ex.getMessage());
}
return rs;
}

public long update(String sql)
{
long x=0;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
x=stmt.executeUpdate(sql);
}
catch(SQLException ey)
{
System.err.println("Jodb.update():"+ey.getMessage());
}
return x;
}

public String pageStr(int page,int pageCount,String url,String showStr)
{
//String str="Page:("+page+"/"+pageCount+")&nbsp;&nbsp;";
String str="";
String fstr;
String pstr;
String nstr;
String lstr;
//int page=currPage;
//int pageCount=pageCt;

if(showStr=="cn")
{
fstr="第一页";
pstr="上一页";
nstr="下一页";
lstr="最末页";
}
else if(showStr=="en")
{
fstr="First";
pstr="Previous";
nstr="Next";
lstr="Last";
}
else
{
String[] temp_array=split(showStr,",");
if(temp_array==null)
{
str="Please input String like: "First,Previous,Next,Last"";
return str;
}
fstr=temp_array[0];
pstr=temp_array[1];
nstr=temp_array[2];
lstr=temp_array[3];
}
/*
int npage;
npgae=page+1;
int ppage;
ppage=page-1;
if(npage>pageCount)
{npae=pageCount;}
if(ppgae<1)
{ppage=1;}
*/
if(page==1){
str=str+"<a href="+url+"page="+(page+1)+">"+nstr+"</a>&nbsp;";
str=str+"<a href="+url+"page="+pageCount+">"+lstr+"</a>&nbsp;";
}
if(page==pageCount){
str=str+"<a href="+url+"page=1>"+fstr+"</a>&nbsp;";
str=str+"<a href="+url+"page="+(page-1)+">"+pstr+"</a>&nbsp;";
}
if(page>1&&page<pageCount){
str=str+"<a href="+url+"page=1>"+fstr+"</a>&nbsp;";
str=str+"<a href="+url+"page="+(page-1)+">"+pstr+"</a>&nbsp;";
str=str+"<a href="+url+"page="+(page+1)+">"+nstr+"</a>&nbsp;";
str=str+"<a href="+url+"page="+pageCount+">"+lstr+"</a>&nbsp;";
}

return str;
}

public String[] split(String str,String strIn)
{
char[] temp_array;
temp_array=str.toCharArray();
int strLength=str.length();
int strInLength=strIn.length();
int strInTimes=0;
int strIndex[]=new int[strLength];

int i=0;
int ii=0;
while(i<=strLength-strInLength)
{
String temp_str="";
for(int j=i;j<i+strInLength;j++)
{
temp_str=temp_str+temp_array[j];
}
if(temp_str.equals(strIn))
{
strInTimes++;
strIndex[ii]=i;
i=i+strInLength;
ii++;
}
else
{
i++;
}

}

if(strInTimes<1)
{
String[] back_str=null;
return back_str;
}
else
{
String back_str[]=new String[strInTimes+1];
back_str[0]=str.substring(0,strIndex[0]);
for(int k=1;k<strInTimes;k++)
{
back_str[k]=str.substring(strIndex[k-1]+strInLength,strIndex[k]);
}
back_str[strInTimes]=str.substring(strIndex[strInTimes-1]+strInLength,str.length());
return back_str;
}

}

}
上一篇:使用JavaBean创建您的网上日历本(2) 人气:16959
下一篇:JSP数据库操作例程(Use Bean) 人气:21872
浏览全部数据库的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐