分享
 
 
 

Jsp+JavaBean循序渐进教程(六)

王朝java/jsp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

这一节涉及到两个页面,一个donewuser.jsp文件用来实现记录添加操作,另一个文件listuser.jsp文件用来显示所有的已经注册的用户信息。这两个页面都涉及到了JavaBean的具体调用,还是来看看文件吧, 对于文件中关键代码,都会添加上注释,以方便大家理解。

donewuser.jsp文件

说明:用户注册操作页面,并根据用户注册成功否显示相应的反馈信息,这个页面主要的特点就是使用了lyf.adduser这个JavaBean的addNewUser()方法来进行记录的添加。

< %@ page contentType="text/html;charset=gb2312"%>

< % response.setHeader("Expires","0"); %>

< !--生成一个JavaBean:lyf.adduser的实例,id为adduser,生存范围为page-->

< jsp:useBean id="adduser" class="lyf.adduser" scope="page"/>

< !--设置JavaBean中各个属性的值,这会调用JavaBean中各个属性的set方法,以便JavaBean得到正确的属性值,”*”代表进行所有属性的匹配-->

< jsp:setProperty name="adduser" property="*"/>

< html>

< head>

< meta http-equiv="Content-Language" content="zh-cn">

< meta http-equiv="Content-Type" content="text/html; charset=gb2312">

< meta name="GENERATOR" content="Microsoft FrontPage 3.0">

< meta name="ProgId" content="FrontPage.Editor.Document">

< title>用户添加< /title>

< /head>

< body bgcolor="#FFEBBD">

< div align="center">< center>

< %

//调用lyf.adduser的checkUser()方法检查是否有重复的用户名

//如果有重复就显示对应的信息

if(!adduser.checkUser())

{

//页面文字输出信息,使用jsp内置对象out的println方法,相当于asp中的response.write方法

out.println("对不起,这个用户名"+adduser.getUsername()+"已经被申请了,请重新选择!");

//return代表返回,运行时候碰到return就不会进行下面的处理了,功能相当于asp中的response.end

return;

}

%>

< %

//如果没有用户名重复的问题,调用lyf.adduser的addNewUser()方法来将用户数据添加到数据库中,并根据数据添加成功否来显示对应的信息

if(adduser.addNewUser()){

%>

< H2>添加用户成功!

< H2>添加用户失败,请和管理员联系!

< /BODY>

< /HTML>

listuser.jsp文件

说明:用户信息列表页面,用于显示注册的所有用户信息,对数据进行了分页显示。

为了方便大家使用,采用了通用的分页代码,如果是JDBC2.0以上或者其他支持TYPE_SCROLL_INSENSITIVE游标的数据库驱动程序,可以有更简洁的分页方法。

和前面jsp页面类似的语句就不讲解了,代表在这个页面中导入java.sql.ResultSet的这个类库,因为Jsp页面中间要声明ResultSet;oracle.jdbc.driver.*类库是Oracle专用的Jdbc驱动程序,让Jsp页面可以用来进行Oracle的数据库操作。

< %@ page contentType="text/html;charset=gb2312"%>

< % response.setHeader("Expires","0"); %>

< %@ page import="java.sql.ResultSet" %>

< %@ page import="oracle.jdbc.driver.*" %>

< !--生成一个JavaBean:lyf.db的实例-->

< jsp:useBean id="db" class="lyf.db" scope="request"/>

< jsp:setProperty name="db" property="*"/>

< %

java.lang.String strSQL; //SQL语句

int intPageSize; //一页显示的记录数

int intRowCount; //记录总数

int intPageCount; //总页数

int intPage; //待显示页码

java.lang.String strPage;

int i,j,k;

//设置一页显示的记录数

intPageSize = 15;

//取得待显示页码

strPage = request.getParameter("page");

if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据

intPage = 1;

}

else{//将字符串转换成整型

intPage = java.lang.Integer.parseInt(strPage);

if(intPage<1) intPage = 1;

}

//获取记录总数

strSQL = "select count(*) from user";

ResultSet result = db.executeQuery(strSQL); //执行SQL语句并取得结果集

result.next(); //记录集刚打开的时候,指针位于第一条记录之前

intRowCount = result.getInt(1);

result.close(); //关闭结果集

//记算总页数

intPageCount = (intRowCount+intPageSize-1) / intPageSize;

//调整待显示的页码

if(intPage>intPageCount) intPage = intPageCount;

strSQL="select * from user order by id desc";

//执行SQL语句并取得结果集

result = db.executeQuery(strSQL);

//将记录指针定位到待显示页的第一条记录上

i = (intPage-1) * intPageSize;

for(j=0;j

< html>

< head>

< meta http-equiv="Content-Language" content="zh-cn">

< meta http-equiv="Content-Type" content="text/html; charset=gb2312">

< meta name="GENERATOR" content="Microsoft FrontPage 3.0">

< meta name="ProgId" content="FrontPage.Editor.Document">

< title>用户列表< /title>

< /head>

< body bgcolor="#FFEBBD">

< div align="center">< center>

< table border="1"

borderColorDark="#FFFFFF" borderColorLight="#000000" cellspacing="0" height="22"

width="100%">

< tr bgcolor="#FFEBAD">

< td height="1" width="691" class="main">

第页 共页

< a href="listuser.jsp?page=0">首页

< a href="listuser.jsp?page=">上一页

上一页

< a href="listuser.jsp?page=">下一页

下一页

< a href="listuser.jsp?page=">尾页

第< input type="text" class="main" name="page" size="3" value=""

tabindex="1">页< input type="submit" class="main" value="go" name="B1" tabindex="2">

< table border="1" width="100%" cellspacing="0" bordercolorlight="#000000"

bordercolordark="#FFFFFF" class="main">

< tr bgcolor="#FFEBAD">

< td >

< div align="left">用户名

< td >

< p align="center">Email

< td >

< p align="center">主页

< td>

< p align="center">登记时间

< td>

< p align="center">说明

< tr bgcolor="#FFEBAD">

< td>

< div align="left">

< td>< div align="center">

< td>< div align="center">< font color="#0000CC">

< td>< div align="center">< font color="#FF6666">

< td>< div align="center">< font color="#0000FF">

< /table>

< /body>

< /html>

先运行程序newuser.jsp文件,进行用户注册操作,然后运行listuser.jsp文件,看看是否已经

添加到数据库中。对于具体jsp文件和class文件放在什么目录下的问题,请看具体jsp服务器软件的参考, 一个最简单的方法就是用Jbuilder4.0直接运行,因为它自带了Tomcat服务器软件。

好了,到这里Jsp+JavaBean的介绍就基本上结束了,通过上面的学习,大家应该对JavaBean如何应用于JSP程序中有了一个基本的了解,剩下的就是在具体程序中去应用和发挥了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有