仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1387|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页设计JSP数据库操纵例程(Use Bean)

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:38:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。js|数据|数据库
-数据分页显现-JDBC2.0:ODBC
经由过程jdbc:odbc能够完成Jsp对数据库的操纵,在这个例子中我将数据库的毗连写在了一个JavaBean中,能够完成反复利用
pagetest.jsp文件:
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<%@pagecontentType="text/html;charset=gb2312"%>
<jsp:useBeanid="Htool"scope="session"class="zbean.HtmlTool"/>
<jsp:useBeanid="Jodb"scope="session"class="zbean.Jodb"/>
<html>
<head>
<title>数据库分页测试</title>
</head>
<%
//界说ResultSet类
java.sql.ResultSetrst;
//设定Odbc数据源
Jodb.setConnStr("jdbc:odbc:jtest","","");
//设定Jdbc驱动程序
Jodb.setDbDriver("sun.jdbc.odbc.JdbcOdbcDriver");
//实行Sql语句,挪用Jodb类的execute办法
rst=Jodb.execute("select*fromgbook");
%>

<%
intstartRowNum;
intpageSize=10;
rst.last();
introwCount=rst.getRow();
intpageCount=(rowCount+pageSize-1)/pageSize;
intintPage;
StringstrPage=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>

<divalign="center">
<center>
<p>数据库分页测试</p>
<p><%=Htool.getStr(Jodb.pageStr(intPage,pageCount,"pagetest.jsp?","en"))%></p>
<tableborder="1"width="600"bordercolorlight="#000000"cellspacing="0"cellpadding="2"bordercolordark="#FFFFFF">
<tr>
<tdwidth="49"><fontsize="2">编号</font></td>
<tdwidth="91"><fontsize="2">姓名</font></td>
<tdwidth="174"><fontsize="2">电子邮箱</font></td>
<tdwidth="250"><fontsize="2">留言</font></td>
</tr>
<%
for(inti=0;i<pageSize;i++){
rst.absolute(startRowNum+i);
if(rst.isAfterLast())
{
break;
}
%>
<tr>
<tdwidth="49"><%=rst.getLong("id")%> </td>
<tdwidth="91"><%=rst.getString("name")%> </td>
<tdwidth="174"><%=rst.getString("email")%> </td>
<tdwidth="250"><%=rst.getString("pnote")%> <%=rst.getRow()%></td>
</tr>
<%
}
%>
</table>
</center>
</div>
</body>
</html>

Jodb.java文件以下:
packagezbean;
importjava.sql.*;
//importzbean.*;
publicclassJodb
{
publicStringsdbdriver="sun.jdbc.odbc.JdbcOdbcDriver";
publicStringsConnStr;
publiclongcount;
Stringuid;
Stringpwd;
Connectionconn=null;
ResultSetrs=null;
publicJodb()
{
try
{
Class.forName(sdbdriver);
}
catch(java.lang.ClassNotFoundExceptione)
{
System.err.println("Jodb():"+e.getMessage());
}
}

publicvoidsetDbDriver(Stringy)
{
sdbdriver=y;
}
publicvoidsetConnStr(Stringx,Stringz,Stringa)
{
sConnStr=x;
uid=z;
pwd=a;
}
publicResultSetexecute(Stringsql)
{
rs=null;

try
{
conn=DriverManager.getConnection(sConnStr,uid,pwd);
Statementstmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
catch(SQLExceptionex)
{
System.err.println("Jodb.execute():"+ex.getMessage());
}
returnrs;
}
publiclongupdate(Stringsql)
{
longx=0;
try
{
conn=DriverManager.getConnection(sConnStr);
Statementstmt=conn.createStatement();
x=stmt.executeUpdate(sql);
}
catch(SQLExceptioney)
{
System.err.println("Jodb.update():"+ey.getMessage());
}
returnx;
}
publicStringpageStr(intpage,intpageCount,Stringurl,StringshowStr)
{
//Stringstr="Page:("+page+"/"+pageCount+")";
Stringstr="";
Stringfstr;
Stringpstr;
Stringnstr;
Stringlstr;
//intpage=currPage;
//intpageCount=pageCt;
if(showStr=="cn")
{
fstr="第一页";
pstr="上一页";
nstr="下一页";
lstr="最末页";
}
elseif(showStr=="en")
{
fstr="First";
pstr="Previous";
nstr="Next";
lstr="Last";
}
else
{
String[]temp_array=split(showStr,",");
if(temp_array==null)
{
str="PleaseinputStringlike:"First,Previous,Next,Last"";
returnstr;
}
fstr=temp_array[0];
pstr=temp_array[1];
nstr=temp_array[2];
lstr=temp_array[3];
}
/*
intnpage;
npgae=page+1;
intppage;
ppage=page-1;
if(npage>pageCount)
{npae=pageCount;}
if(ppgae<1)
{ppage=1;}
*/
if(page==1){
str=str+"<ahref="+url+"page="+(page+1)+">"+nstr+"</a>";
str=str+"<ahref="+url+"page="+pageCount+">"+lstr+"</a>";
}
if(page==pageCount){
str=str+"<ahref="+url+"page=1>"+fstr+"</a>";
str=str+"<ahref="+url+"page="+(page-1)+">"+pstr+"</a>";
}
if(page>1&&page<pageCount){
str=str+"<ahref="+url+"page=1>"+fstr+"</a>";
str=str+"<ahref="+url+"page="+(page-1)+">"+pstr+"</a>";
str=str+"<ahref="+url+"page="+(page+1)+">"+nstr+"</a>";
str=str+"<ahref="+url+"page="+pageCount+">"+lstr+"</a>";
}
returnstr;
}
publicString[]split(Stringstr,StringstrIn)
{
char[]temp_array;
temp_array=str.toCharArray();
intstrLength=str.length();
intstrInLength=strIn.length();
intstrInTimes=0;
intstrIndex[]=newint[strLength];
inti=0;
intii=0;
while(i<=strLength-strInLength)
{
Stringtemp_str="";
for(intj=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;
returnback_str;
}
else
{
Stringback_str[]=newString[strInTimes+1];
back_str[0]=str.substring(0,strIndex[0]);
for(intk=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());
returnback_str;
}
}
}


还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-19 09:07:29 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-24 11:32:39 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
柔情似水 该用户已被删除
地板
发表于 2015-2-1 09:40:47 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
简单生活 该用户已被删除
5#
发表于 2015-2-4 13:46:08 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-8 14:00:32 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
若相依 该用户已被删除
7#
发表于 2015-2-10 02:04:35 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-2-12 07:25:19 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
透明 该用户已被删除
9#
发表于 2015-3-2 23:54:50 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
小女巫 该用户已被删除
10#
发表于 2015-3-8 11:26:05 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
若天明 该用户已被删除
11#
发表于 2015-3-15 22:14:43 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
飘灵儿 该用户已被删除
12#
发表于 2015-3-16 20:12:57 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
不帅 该用户已被删除
13#
发表于 2015-3-23 00:17:16 | 只看该作者
是一种为 Internet发展的计算机语言
深爱那片海 该用户已被删除
14#
发表于 2015-3-27 17:11:17 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
山那边是海 该用户已被删除
15#
发表于 2015-4-18 19:39:07 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
因胸联盟 该用户已被删除
16#
发表于 2015-4-27 22:02:31 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
乐观 该用户已被删除
17#
发表于 2015-5-1 03:10:18 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
再现理想 该用户已被删除
18#
发表于 2015-5-10 00:29:02 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
19#
发表于 2015-5-11 21:31:48 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
再见西城 该用户已被删除
20#
发表于 2015-6-11 09:10:52 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-5 04:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表