数据库小结
学了这么久的数据库,今天就做个登陆,注册小系统,算是对数据库的总结吧
1,建一个用户信息表 名称:create.jsp

<%@ page contentType="text/html;charset=GB2312"%>
<%@ include file=
"inc.jsp"%>
<%
boolean go;
sql=
"create table userifo";
sql+=
"(id int not null auto_increment primary key,";
sql+=
"name varchar(30),";
sql+=
"passwords varchar(30))";
out.println(sql);
go=apple.create(sql);
if(go)
out.println(
"ok!");
else
out.println(
"failed");
%>

--------

2,用户登陆界面,很简单,建一个表单而已 名称:index.html

<html>
<head>
<title>注册</title>
</head>
<body>
已注册的用户可从此登陆<br>
<form action=
"putsession.jsp" method="post">
用户名:<input type=
"text" name="name"><br>
用户密码:<input type=
"password" name="passwords"><br>
<input type=
"submit" value=登陆 >
<input type=
"reset" value=重试><br><hr><br>
</form>
没有注册的请点击注册<br>
<a href=
"login.html">注册</a>
</body>
</html>

---------------
3,文件:putsession.jsp 接受登陆的信息,并判断如果正确,进入主页面,否则重新登陆

<%@ page contentType=
"text/html;charset=GB2312"%>
<%@include file=
"inc.jsp"%>
<%
String name=request.getParameter(
"name");
String passwords=request.getParameter(
"passwords");
sql=
"select * from userifo where name='"+name+"' and passwords='"+passwords+"'";
rs = apple.select(sql);

if(rs.next())
{
response.sendRedirect(
"main.jsp");
}
else
{
response.sendRedirect(
"index.html");
}
%>

-----------------------
4,文件login.jsp 当然前面是针对老用户而言,如果还没注册呢,这就是注册页面

<html>
<head>
<title>注册</title>
</head>
<body>
请你输入以下信息<br>
<form action=
"insert.jsp" method="post">
用户名:<input type=
"text" name="name"><br>
用户密码:<input type=
"password" name="passwords"><br>
<input type=
"submit" value=登陆 >
<input type=
"reset" value=重试>
</form>
</body>
</html>

-------------------
5,注册后,要判断数据库中是否已存此用户,如存则重新注册,否则把新注册的用户的信息存入数据库中,并进入主页

<%@page contentType=
"text/html;charset=GB2312"%>
<%@include file=
"inc.jsp"%>
<%
boolean go;
String name=request.getParameter(
"name");
String passwords=request.getParameter(
"passwords");
sql=
"select * from userifo where name='"+name+"'";
rs=apple.select(sql);
if(rs.next())
{
//out.println("sorry,the user has been existed");
response.sendRedirect(
"login.html");
}
else
{
sql=
"insert into userifo(name,passwords)values('"+name+"','"+passwords+"')";
// out.println(sql);
go=apple.insert(sql);
apple.closeConn();
%>
<%=name%>你好,请记住你的密码<font color=red><%=passwords%></font>
<a href=
"main.jsp">进入主页</a>
<%
}
%>

------

6,好了,最后就是主页面了,这而只举个简单的主页面 main.jsp

<%@ page contentType=
"text/html;charset=GB2312"%>
<%
String str=
"welcom to my homepage";
out.println(str);
%>

-------------
7,文件中都用到的文件inc.jsp

<%@page language=
"java" import="java.sql.*" %>
<jsp:useBean id=
"apple" scope="session" class="apple.dbsql0" />
<%!
String sql;
ResultSet rs;
%>

------------
到此,一个简单的注册登陆已形成。呵呵,菜鸟之作,不知道高手大虾们的注册登陆是何样?
当然,这用到的都是数据库存取,可用javabean存取,正在想办法中!

------

回复此文章 |

看了个大概,不错,学Jsp速度挺快的.

建意你可以把用户方面的操作封装到一个JavaBean里,如:

public boolean checkUser(String name,String password){
boolean go = false;
apple sql = new apple();
String checkSql =
"select count(*) from userifo where name='"+name+"' and passwords='"+passwords+"'";
try{
sql.select(checkSql);
go = true;
}catch(SQLException e){
go = false;
}
sql.closeConn();
return go;
}

public boolean registerUser(String name,String password){
...
...
return ...;
}

.
.
.


我没有测试,不知道我的程序有没有错,你试试吧!
------

回复此文章 |

上面程序写错了,不能select count(*) ...;

应该select name ... ;
------

回复此文章 |

其实,错不在此。

你再想想吧。
------

回复此文章 |

apple sql = new apple();

这一句应该改为:

dbsql0 sql = new dbsql0();
------

回复此文章 |

meiking,你的思想很不错,用javabean封装,把表示层和逻辑层(也许不叫逻辑层,就是一些数据处理和事物处理吧)分开,也使代码可重用性。我也觉得实在有必要了,你看我的3和5文件都用到了select语句和if(rs.next())(虽然此方法,我想出来的时候还高兴了一会)判断数据库中的一些事物,实在是有点不爽。
可我对你的这个javabean还有几点疑惑
1,觉得这是一个方法(如在jsp中我就只会把他当作一个函数来用),头里没有class,说明就不是类啊?


2,作为一个javabean应该体现他的独立性啊,可这里又用到了dbsql0 sql = new dbsql0();说明他要用到类dbsql0来创建对象,这样可把他放在dbsql0这个公共类下,可其中又有语句String checkSql = "select count(*) from userifo where name='"+name+"' and passwords='"+passwords+"'"; name和passwords能脱否离表单?


基于以上两点疑惑,我看我怎么用
hofman   2005-11-19 22:54:27 评论:0   阅读:410   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2006 powered by YuLog