其实就是一个登录注册 现在进行中
我希望通过写这个能对自己的学习做一个见证
平台:Tomcat && MyEclipse
语言:javaBean && Jsp
数据库:Mysql
项目之前的一点说明
接触JAVA周期20天 其实就是什么都是似懂非懂 很是郁闷
项目思路:
首先是数据库 安装一路默认 好像就知道了什么*.ini文件 其实不知道到底是干什么用的
学会了 基本的sql语句 先是建立数据库 写了个数据库说明
用户表:users
说明:记录系统用户和普通用户登陆信息和个人信息
字段名 | 字段类型(长度) | 默认值 | 主外键 | 字段说明 |
User_id | Bigint | 自增长 | Pk | 主键/流水ID 自增长 |
Username | Varchar(100) not Null |
| Uk | 用户登陆名 |
Password | Varchar(50) |
|
| 用户登陆密码 |
| Varchar(50) |
| Uk | |
epubflag | tinyint | 0 |
| 是否公开 0公开 1不公开 |
realname | Varchar(50) |
|
| 真实姓名 |
sex | tinyint |
|
| 性别 0表男 1表女 |
Native | int |
|
| 籍贯 |
address | Varchar(50) |
|
| 现居住地 |
Photos | Varchar(100) |
|
| 照片 |
Userpage | Varchar(100) |
|
| 个人主页(博客地址) |
mobilePhone | Varchar(20) |
|
| 手机号 |
Qqcode | Varchar(12) |
|
| QQ号码 |
Msncode | Varchar(20) |
|
| Msn |
tienum | Int | 0 |
| 发表帖子总数 |
Fen | int | 0 |
| 个人积分 |
adage | Varchar(200) |
|
| 个人格言 |
updtime | timestamp |
|
| 修改日期 |
createtime | date | 自动 |
| 注册日期 |
然后建立数据库
SET character_set_client = gbk;
SET character_set_connection = gbk;
SET character_set_database = gbk;
SET character_set_results = gbk;
SET character_set_server = gbk;
SET collation_connection = gbk_bin;
SET collation_database = gbk_bin;
SET collation_server = gbk_bin;
create table users(
user_id bigint AUTO_INCREMENT primary key,
username varchar(100) not null,
password varchar(50) not null,
email varchar(50),
epubflag tinyint default 0,
realname varchar(50),
sex tinyint,
native int,
address varchar(100),
Photos varchar(100),
Userpage varchar(100),
mobilephone varchar(20),
qqcode varchar(12),
msncode varchar(20),
tienum int default 0,
fen int default 0,
adage varchar(200),
updtime timestamp,
createtime date,
constraint uq_username unique(username),
constraint uq_email unique(email)
);
知道了个子增涨主键 不过到现在也没真正明白作用
会了个 show databases; show tables; use itmate; desc uesrs; drop table users; select * from users;
数据库完成
然后装了个MyEclipse 知道了 IDE Eclipse 这个东东 关系就是咖啡加糖
还知道了myeclipse 这个东西能建web工程 其他就是似懂非懂了
然后呢 就是 什么JDBC 好像它和数据库之间 就是个枢纽
其他不知道了 知道了 有直接取链接和从连接池拿链接
代码如下
package common.conn;
import java.sql.*;
import javax.naming.*;
public class ConnectionPool {
Connection conn = null;
public Connection getConnection() throws NamingException, SQLException{
InitialContext ctx = new InitialContext();
javax.sql.DataSource connectionPool = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
conn = connectionPool.getConnection();
return conn;
}
public void closeConnection() throws SQLException{
if(conn!=null)conn.close();
}
}
然后给他封到一个BEAN里面
这里就是还知道了个jiavabean
至于javabean到底是个什么东西还是不明白
再写个set和get方法的类Users
jsp页面里面用个<jsp:setProperty name="users" property="*"/>
把表单里面的数据给灌到这个类里面
然后在写个类 写了个方法
代码如下
package dblogic.users;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.naming.NamingException;
import common.conn.ConnectionPool;
import text.javabean.Users;
public class Input {
ConnectionPool connPool = new ConnectionPool();
public void write (Users inuser) throws SQLException,IllegalAccessException,ClassNotFoundException, NamingException{
PreparedStatement prep = null;
try{
Connection conn = connPool.getConnection();
prep = conn.prepareStatement("insert into users (username,password,email,epubflag,realname,sex,native,address,photos,userpage,mobilePhone,qqcode,msncode,adage,createtime) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); //?占位符
prep.setString(1,inuser.getUsername());
prep.setString(2,inuser.getPassword());
prep.setString(3,inuser.getEmail());
prep.setInt(4,inuser.getEpubflag());
prep.setString(5,inuser.getRealname());
prep.setInt(6,inuser.getSex());
prep.setInt(7,inuser.getNative_place());
prep.setString(8,inuser.getAddress());
prep.setString(9,inuser.getPhotourl());
prep.setString(10,inuser.getUserweb());
prep.setString(11,inuser.getMobilephone());
prep.setString(12,inuser.getQqcode());
prep.setString(13,inuser.getMsncode());
prep.setString(14,inuser.getAdage());
java.util.Date xtdate= new java.util.Date();
java.sql.Date yhdate = new java.sql.Date(xtdate.getTime());
prep.setDate(15,yhdate);
prep.executeUpdate();
}finally{
if (prep!=null){
prep.close();
connPool.closeConnection();
}
}
}
}
其实也是似懂非懂!
不过现在还是可以注册了
关于细节
首先是xml文件
<?xml version="1.0" encoding="utf-8"?>
<Context path="/itmate" docBase="F:/itmate/WebRoot" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/mysql" type="javax.sql.DataSource"
driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql:///itmate?useUnicode=true&characterEncoding=gbk"
username="root"
password="root"
maxIdle="5"
maxWait="-1"
maxActive="15"/>
</Context>
好像这个就是配置个什么连接池?
郁闷!
其他的 我得在整理一个思路
怎么写登录页面呢?
从库里面查出来? 和页面输入和做比较?
如果一致 登录成功? 不一致 登录不成功?
也许吧? 晚上睡不着 不知道是谁在呐喊着 学习是个苦差事
我只有这最后的机会去拼搏了!
写到这里 明天继续 !!!