要用javabean,必须使用数组记录每个登陆用户的信息,需要好的算法
解决方案 »
- 第一次点查询可以正常显示结果,但是第二次点查询就报错。
- jsp和javascript
- firefox debug问题。
- filter过滤器并发进程同步问题 比上贴介绍详细,谢谢
- 在线等待~,根据传递过来的路径选择某一页面的一个组件显示或不显示~valocity求助
- 做Java开发,算法用得多吗?
- jasperreport向ireport报表传递参数没成功,咋会事?
- com.jspsmart.upload.*的问题!
- 学习jsp web编程指南一书中遇到的问题
- hibernate sql 问题,求大神解答
- 哪儿有javabeans和servlet教程下载?
- 连微软的主页上都用javascript,他的jsp和vbscript还有没有市场?大家讨论!!!!!
用户输入密码后,要post,然后web服务器才能收到信息,去数据库里面查,不正确再返回信息,一般都是一个密码错误的页面,
为什么要用客户端的javascript程序,来显示一个对话框?
你见那个网站这么做了?奇了怪了。
只用jsp也能实现,
如果你在jsp里面会写,javabean也是一样的。
alert(\"invalid password & username!!!\");
</script>),这样就可以轻松实现了,不用每次都写代码,不知道说的对不对,呵呵
an classical example using isValidate() check validation in a JavaBean which can be reused in different jsp pages.
That's one of reasons why jsp is better than ASP(not ASP.net)
for detailed explaination, see www.jspin.com---tips and tutorial---form----advanced form processing
package forms;
import java.util.*;
import java.sql.*;
public class FormBean {
private String firstName;
private String lastName;
private String email;
private String userName;
private String password1;
private String password2;
private String zip;
private String[] faveMusic;
private String notify;
private Hashtable errors;
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:Customer";
Connection conn = null;
Statement stmt=null;
ResultSet rs = null;
int count=0;
//private boolean isDouble=false;
public void connect(){
try {
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr);
checkForWarning (conn.getWarnings());
stmt = conn.createStatement();
System.out.println("connect to database :OK!");
}catch (SQLException ex) {
System.out.println ("\n*** SQLException caught ***\n");
while (ex != null) {
System.out.println("SQLState:" +ex.getSQLState());
System.out.println(" Message :" +ex.getMessage());
System.out.println(" Vendor :" +ex.getErrorCode());
ex = ex.getNextException ();
}
}catch (java.lang.Exception ex) {
ex.printStackTrace ();
}
}
public int execUpdate(String sql) {
try {
count=stmt.executeUpdate(sql);
if(count==0) {
System.out.println("error!");
}
// stmt.close();
// rs.close();
}catch (SQLException ex) {
System.out.println("Update error");
System.out.println ("\n*** SQLException caught ***\n");
while (ex != null) {
System.out.println("SQLState:" +ex.getSQLState());
System.out.println(" Message :" +ex.getMessage());
System.out.println(" Vendor :" +ex.getErrorCode());
ex = ex.getNextException ();
}
}catch (java.lang.Exception ex) {
ex.printStackTrace ();
}
return count;
}
public ResultSet execQuery(String sql) {
try {
rs=stmt.executeQuery(sql);
/* if(rs.next()) {
isDouble=true;
System.out.println(" execQuery's result :"+rs.getString(1));}
else{
System.out.println("there is no record which you wanted!");
}*/
// stmt.close();
// rs.close();
}catch (SQLException ex) {
System.out.println ("\n*** SQLException caught ***\n");
while (ex != null) {
System.out.println("SQLState:" +ex.getSQLState());
System.out.println(" Message :" +ex.getMessage());
System.out.println(" Vendor :" +ex.getErrorCode());
ex = ex.getNextException ();
}
}catch (java.lang.Exception ex) {
ex.printStackTrace ();
}
return rs;
}private boolean checkForWarning (SQLWarning warn) throws SQLException
{
// System.out.println("DBAccess checkForWarning");
boolean rc = false; if (warn != null) {
System.out.println ("\n *** Warning ***\n");
rc = true;
while (warn != null) {
System.out.println("SQLState:" +warn.getSQLState());
System.out.println("Message :" +warn.getMessage());
System.out.println("Vendor :" +warn.getErrorCode());
warn = warn.getNextWarning ();
}
}
return rc;
}
public void disconnect() {
try {
System.out.println("DBAccess disconnect");
rs.close();
stmt.close();
conn.close();
}catch (SQLException ex) {
System.out.println ("\n*** SQLException caught ***\n");
while (ex != null) {
System.out.println ("SQLState: " +ex.getSQLState());
System.out.println ("Message: " +ex.getMessage());
System.out.println ("Vendor: " +ex.getErrorCode());
ex = ex.getNextException ();
System.out.println ("");
}
}catch (java.lang.Exception ex) { ex.printStackTrace (); }
} public String arrayToString(String[] arr){
String temp="";
int n=arr.length;
for (int i=0;i<n;i++)
{temp=temp+arr[i]+",";}
temp=temp.substring(0,(temp.length()-1));
return temp;
}
public boolean validate() {
System.out.println(firstName+","+lastName+","+email+","+userName+","+password1+","+zip+","+arrayToString(faveMusic)+","+notify);
boolean allOk=true;
if (firstName.equals("")) {
errors.put("firstName","Please enter your first name");
firstName="";
allOk=false;
}
if (lastName.equals("")) {
errors.put("lastName","Please enter your last name");
lastName="";
allOk=false;
}
if (email.equals("") || (email.indexOf('@') == -1)) {
errors.put("email","Please enter a valid email address");
email="";
allOk=false;
}
if (userName.equals("")) {
errors.put("userName","Please enter a username");
userName="";
allOk=false;
}else{
System.out.println(userName);
String querySQL="select * from register where username='"+userName+"'";
try{
rs=execQuery(querySQL);
if(rs.next()) {
errors.put("userName","The username has been exist,请换一个please change another");
allOk=false;
}
}catch(SQLException ex){
System.out.println ("\n*** SQLException caught ***\n");
while (ex != null) {
System.out.println("SQLState:" +ex.getSQLState());
System.out.println(" Message :" +ex.getMessage());
System.out.println(" Vendor :" +ex.getErrorCode());
ex = ex.getNextException ();
}
}catch (java.lang.Exception ex) {
ex.printStackTrace ();
}
/*if(isDouble){
errors.put("userName","The username has been exist,请换一个please change another");
allOk=false;
}*/
}
if (password1.equals("") ) {
errors.put("password1","Please enter a valid password");
password1="";
allOk=false;
}
if (!password1.equals("") && (password2.equals("") ||
!password1.equals(password2))) {
errors.put("password2","Please confirm your password");
password2="";
allOk=false;
}
if (zip.equals("") || zip.length() !=5 ) {
errors.put("zip","Please enter a valid zip code");
zip="";
allOk=false;
} else {
try {
int x = Integer.parseInt(zip);
} catch (NumberFormatException e) {
errors.put("zip","Please enter a valid zip code");
zip="";
allOk=false;
}
}
if (allOk){
System.out.println("prepare to insert :");
System.out.println(firstName+","+lastName+","+email+","+userName+","+password1+","+zip+","+notify);
String strSQL="insert into register (username,password,firstname,lastname,email,zip,favorite,acception) " ;
strSQL=strSQL+"values('"+userName+"','"+password1+"','"+firstName+"','"+lastName+"','"+email+"','"+zip+"','"+arrayToString(faveMusic)+ "'," +true +")";
//firstName+lastName+email+userName+password1+zip+notify
System.out.println("strSQl: "+strSQL);
int n=execUpdate(strSQL);
System.out.println("insert "+n+"record");
if (n==0){
allOk=false;
errors.put("DB Access","Sorry,DataBase access failed!");
}
}
return allOk;
}
public String getErrorMsg(String s) {
String errorMsg =(String)errors.get(s.trim());
return (errorMsg == null) ? "":errorMsg;
} public FormBean() {
System.out.println("create FormBean ok");
firstName="";
lastName="";
email="";
userName="";
password1="";
password2="";
zip="";
faveMusic = new String[] { "1" };
notify="";
errors = new Hashtable();
connect();
} public String getFirstName() {
return firstName;
} public String getLastName() {
return lastName;
} public String getEmail() {
return email;
} public String getUserName() {
return userName;
} public String getPassword1() {
return password1;
} public String getPassword2() {
return password2;
} public String getZip() {
return zip;
} public String getNotify() {
return notify;
} public String[] getFaveMusic() {
return faveMusic;
} public String isCbSelected(String s) {
boolean found=false;
if (!faveMusic[0].equals("1"))
{
for (int i = 0; i < faveMusic.length; i++)
{
if (faveMusic[i].equals(s)) {
found=true;
break;
}
}
if (found) return "checked";
}
return "";
} public String isRbSelected(String s) {
return (notify.equals(s))? "checked" : "";
} public void setFirstName(String fname) {
firstName =fname;
} public void setLastName(String lname) {
lastName =lname;
} public void setEmail(String eml) {
email=eml;
} public void setUserName(String u) {
userName=u;
} public void setPassword1(String p1) {
password1=p1;
} public void setPassword2(String p2) {
password2=p2;
} public void setZip(String z) {
zip=z;
} public void setFaveMusic(String[] music) {
faveMusic=music;
} public void setErrors(String key, String msg) {
errors.put(key,msg);
} public void setNotify(String n) {
notify=n;
}
}
package jb;
public class helloworld
{
public String name="hello world!";
public String hello()
{
return name;
}
}