我在写这个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>
密码: <input type=text name="password"> <br><br><br>
<input name="submit" type="submit" value=" 提交 ">
<input name="reset" type="reset" value=" 重置 "> </td>
</tr>
</form>
</table>
</body>
</html>