且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

一个简单的用户注册JavaBean

更新时间:2022-08-13 08:26:54

我在写这个JavaBean'的过程中遇到很多细节上的问题,相信很多JSP新手都遇到过 。

1、首先 在JSP中使用了

<%@ page import="me.Register" %>
<jsp:useBean id="bean" class="Register" />
但是却找不到JavaBean。解决方法在 Eclipse的   J2EE项目的src中新建一个 java源文件然后把JavaBean写到这个Java源文件中   。

Eclipse会为我们自动编译Java源文件  。

然后再再程序中使用  userBean引入  。

如果我们想要在Tomcat下测试,那么只需要再  WEB应用的  WEB-INF中建立 classes目录 并且把.class文件拷贝进去就行  如果有包 那么要对应相应的目录层次

 

2、<jsp:setProperty property="*" name="bean" />   

  这个动作指令是为JavaBean的所有属性进行赋值  ,使用这个动作指令的要求是每个 属性必须要和对应的提交参数 相对应 。否则如果有一个参数找不到或者 为null

那么所有属性 都不会被JSP引擎自动设置。 

 

3、<%bean.method();%>

在以往的JSP程序片中 只要 我们打开了JSP页面那么JSP程序就会被执行 ,但是在有JavaBean的JSP页面中 ,第一次打开页面的时候 JavaBean是无效的 。

知道我们手动第一次进行提交的时候JavaBean才会生效。因此 我在调用JavaBean的时候只进行了如下操作

<%  
  bean.addUserToDB("sa", "7603835")  ;//增加用户to数据库
%>

 

下面是JavaBean代码

package me;
import java.sql.*;
public class  Register
{
    String username="ggg" ;   //用户名字
    String password ="ggg";   //用户密码
    public Register()
    {
     
    }
    public String getUsername() 
    {
     return this.username ;
    }
    public String getPassword()
    {
     return this.password ;
    }
 public void setUsername(String  user )
 {
  this.username=user ;
 }
 public void setPassword(String pass)
 {
  this.password=pass ;
 }
 public boolean addUserToDB(String user,String pass) 
 { 
   Connection cn  ; //Connection链接
   Statement s ; //Statement对象 
  try
  {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; //加载驱动类 如果类找不到 那抛出异常 返回false 我这里是JDBC-ODBC访问数据库
  }catch(ClassNotFoundException e)
  {
   return  false ;
  }
  try
  {
   cn=DriverManager.getConnection("jdbc:odbc:testDatabase",user,pass);  //链接数据库
   s=cn.createStatement();  //这里我们只用语句更新 不用结果记录集  那么就空参数就可
   
      s.executeUpdate("insert into info(username,password) values('"+codeToString(this.getUsername())+"','"+codeToString(this.getPassword())+"')");
      cn.close();//关闭数据库链接
  }
  catch(SQLException e)  //如果异常返回false
  {   
    return false ;
  }
  return true ;
 }
 public String  codeToString(String str)
 {
    try
    {
     return new String(str.getBytes("ISO-8859-1")) ;//ISO-8859-1编码
    }
    catch(Exception e)
    {
     return str;
    }

 }
 
}

 

下面是JSP代码

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"  %>
<%@ page import="me.Register" %>
<jsp:useBean id="bean" class="Register" />
<jsp:setProperty property="*" name="bean" /> 
<%  
  bean.addUserToDB("sa", "7603835")  ;//增加用户to数据库
%>
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<table width="500" height="95" border="1" align="center">
<form name="form1" method="post" action="Register.jsp">
<tr>
<td height="49" colspan="2" align="center" bgcolor="#FFef33">
用户注册界面-JavaBean实现</td>
</tr>
<tr>
<td  height="55" align=center >
<br><br>用户名: <input type=text name="username"> <br><br><br>
密码:&nbsp;&nbsp; <input type=text name="password">  <br><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;<input name="submit" type="submit" value=" 提交 ">&nbsp;&nbsp;&nbsp;
 <input name="reset" type="reset" value=" 重置 "> &nbsp;&nbsp;</td>
</tr>
</form>
</table>
</body>
</html>