第一个小项目
来源:互联网 发布:网站快速优化排名 编辑:程序博客网 时间:2024/05/17 02:06
其实就是一个登录注册 现在进行中
我希望通过写这个能对自己的学习做一个见证
平台:Tomcat && MyEclipse
语言:javaBean && Jsp
数据库:Mysql
项目之前的一点说明
接触JAVA周期20天 其实就是什么都是似懂非懂 很是郁闷
项目思路:
首先是数据库 安装一路默认 好像就知道了什么*.ini文件 其实不知道到底是干什么用的
学会了 基本的sql语句 先是建立数据库 写了个数据库说明
用户表:users
说明:记录系统用户和普通用户登陆信息和个人信息
字段名
字段类型(长度)
默认值
主外键
字段说明
User_id
Bigint
自增长
Pk
主键/流水ID
自增长
Username
Varchar(100) not Null
Uk
用户登陆名
Password
Varchar(50)
用户登陆密码
Email
Varchar(50)
Uk
E-mail
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>
好像这个就是配置个什么连接池?
郁闷!
其他的 我得在整理一个思路
怎么写登录页面呢?
从库里面查出来? 和页面输入和做比较?
如果一致 登录成功? 不一致 登录不成功?
也许吧? 晚上睡不着 不知道是谁在呐喊着 学习是个苦差事
我只有这最后的机会去拼搏了!
写到这里 明天继续 !!!
- 第一个小项目
- 第一个小项目
- 第一个小项目
- 第一个小项目
- tp5第一个小项目
- 第一个ssm小项目
- 我的第一个小项目
- 小猴子的第一个项目感想
- 今天接到了第一个小项目
- 自己的第一个小项目
- 打字游戏-第一个小项目
- 【Dubbo】第一个dubbo小项目
- 第一个Spring MVC小项目
- 说说 第一个小项目HelloWorld 的目录结构
- 自己弄得第一个小项目,是按着视频做的 。
- 第一个小项目 - 去掉指定文件中的注释
- STM32第一个小项目(点亮LED)
- 计算器——第一个Android小项目
- 【日志】CRC终于搞成了
- B tree
- Eclipse 3.1中的Java泛型支持
- 轻轻松松写Applications for Windows Mobile
- DNS Server
- 第一个小项目
- Cron, PAM, OpenDNS 介绍
- JSP内置对象详解
- 编程累了,进来欣赏下美女视频,放松下!
- LINQ 首部曲 : LINQ To Object Part 1
- Mircosoft称企业有十个理由弃用Google工具
- eclipse+tomcat+struts2 第一篇
- 软件复用技术综述
- 回憶過去,展望未來