用jsp+javabean实现用户注册和查看的功能

本文介绍了如何利用JSP和JavaBean在winxp+tomcat4+mysql环境下开发用户注册及信息展示功能。主要包括3个JSP页面:addnewuser.jsp(注册界面)、doadduser.jsp(实现数据库操作)和listuser.jsp(显示所有用户信息)。文章还提到了2个关键的JavaBean:db.java用于数据库操作,adduser.java则用于处理用户注册和信息检查。代码示例中包含了数据库连接、SQL语句的构建以及错误处理等细节。
摘要由CSDN通过智能技术生成

本文主要参考了,JSP+javabean循序渐进

开发平台:winxp+tomcat4+mysql+javabean

在实现在了用servlet注册还有登录以后,打算做一个注册页面

首先创建一个表:username VARCHAR2(20) 用户名
password VARCHAR2(20) 密码
email VARCHAR2(30) Email地址
homepage VARCHAR2(50) 主页
signs VARCHAR2(200) 签名
regtime DATE 注册时   //这个date我没有实现

主要有三个jsp页面:

addnewuser.jsp,主要用来实现注册用户的界面,

doadduser.jsp 实现填加到数据库中的具体功能

listuser.jsp 来实现显示所有用户信息

两个bean:

db.java实现数据库的操作,主要有两个方法public ResultSet executeQuery(sql)返回rs用来进行记录的查询

public boolean executeUpdate(String sql)用来进行记录的更新

adduser.java继承了db类用来提供所需更新和查询的sql语句;

我直接调用原文的代码时后发现调用了span什么,不太懂,而且有很多字符不对,所以调试时的问题基本上都是html代码的问题.这是一个仅有基本功能,很多方面还需进一步完善,比如实现注册时间(虽然这不难,可是我还没看util.date和sql.date 区别),email地址的识别,连登录都没有做 :) ,我发现基于这种bean结构的功能很吸引人,比servlet要好,肤浅之见

源码如下:db.java

package rkind;
import java.net.*;
import java.sql.*;
import java.lang.*;
import java.io.*;
import java.util.*;
public class db {
//成员变量初始化
Connection conn = null; //数据库连接
ResultSet rs = null; //记录集
String Username=""; //用户名
String Password=""; //密码
String Email=""; //email
String Homepage=""; //主页
String Signs=""; //签名
String url="jdbc:mysql://172.20.0.73/rk";

//db的构建器
public db() {
 try {
//注册数据库驱动程序为Oracle驱动
  String name="org.gjt.mm.mysql.Driver";
  Class.forName(name);
  conn = DriverManager.getConnection(url,"root","你的密码");
  System.out.println("success");
  }
 catch(Exception e) {
//这样写是为了方便调试程序,出错打印mydb()就知道在什么地方出错了
  System.err.println("mydb(): " + e.getMessage());
  
 }
 }

//executeQuery方法用于进行记录的查询操作

//入口参数为sql语句,返回ResultSet对象
 public ResultSet executeQuery(String sql) {
  rs = null;
  try {
//建立数据库连接,使用Oracle的一种thin连接方式,demo为主机名字,demodb为数据库,后面的两个
//demo为用户名和密码
  
  
  Statement stmt = conn.createStatement();
//执行数据库查询操作
  rs = stmt.executeQuery(sql);
  }
  catch(SQLException ex) {
   System.err.println("db.executeQuery: " + ex.getMessage());
  }
  return rs;
 }
//executeUpdate方法用于进行add或者update记录的操作

//入口参数为sql语句,成功返回true,否则为false
 public boolean executeUpdate(String sql) {
  boolean bupdate=false;
  rs = null;
  try {
//建立数据库连接,其它参数说明同上面的一样
  
  Statement stmt = conn.createStatement();
  int rowCount = stmt.executeUpdate(sql);
//如果不成功,bupdate就会返回0
  if(rowCount!=0)bupdate=true;
  }
  catch(SQLException ex) {
//打印出错信息
   System.err.println("db.executeUpdate: " + ex.getMessage());
  }
 return bupdate;
 }

//toChinese方法用于将一个字符串进行中文处理

//否则将会是???这样的字符串
 public static String toChinese(String strvalue) {
  try{
   if(strvalue==null)
  {
  return null;
  }
  else {
   strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
   return strvalue;
  }
  }catch(Exception e){
   return null;
  }
 }

}

adduser.java

package rkind;
import java.sql.*;
import java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值