数据库小结
学了这么久的数据库,今天就做个登陆,注册小系统,算是对数据库的总结吧
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能脱否离表单?
基于以上两点疑惑,我看我怎么用
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
