BBS编写文档
任务一:
● 建立数据模型
● 实现系统的登录模块
详细步骤:
● 建立数据模型
1、 bbs论坛是什么首先根据需求把数据模型抽象出来,详细参见“Excel文件:BBS论坛数据模型.xls”
2、 在数据库服务器中建立系统的数据模型,即建立数据库和相关的表。数据库的名字大家可以自己命名(我的数据库名字叫newbbs),数据表的名字就遵循“Excel文件:BBS论坛数据模型.xls”中的名字。(提示:此步操作第一次做的时候可以通过mysql图形化客户端软件SQLYog来完成,建好表后,可以把创建表的sql脚本保存下来)。
● 实现系统的登录模块
1、登录模块分析:
登录功能的时序图如下:
图1、BBS登录时序图
从图1中我们可以看出,实现登录功能需要编写的页面有index.html,login.jsp。其中index.html是系统首页,容易编写,login.jsp是登录校验页面,在这个页面中需要对用户在in
dex.html中输入的用户名和密码进行合法性校验,如果合法,则登录成功,跳转到main.jsp页面,否则生成错误页面,跳转到首页index.html。
要完成登录功能,需要对用户user进行操作,因此,我们需要编写用户的实体类User,这个实体类很容易编写,它就是一个简单的JavaBean类。另外编写一个用户的数据访问对象,即Dao类,通常我们首先根据需求定义一个Dao接口,然后编写这个接口的实现类。在此我们定义一个UserDao接口,然后编写一个UserDao接口的实现类,在本例中,我们利用jdbc实现。
2、登录模块编写
2.1在Eclipse中新建一个“动态web项目”,名字为BBS(项目名字可以自己命名)。
2.2 编写实体类User,所在的包为cn.my.bbs.domain,代码如下:
bbs.domain;
import java.util.Date;
public class User {
private long id;
private String name;
private String password;
private String sex;
private String email;
private String nickname;
private Date createTime;
private char role;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
ail = email;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
ateTime = createTime;
}
public char getRole() {
return role;
}
public void setRole(char role) {
le = role;
}
}
2.3 定义一个接口UserDao,在此,我们定义的接口还不是很完善,这需要我们对问题的需求全面分析之后才能做好。UserDao的代码如下:
bbs.dao;
bbs.domain.User;
public interface UserDao {
//添加用户,在注册调用
public boolean add(User user);
//判断用户的合法性,判断条件是user的name和password
public boolean valid(User user);
//判断用户是否存在,判断条件是user的name
public boolean exist(User user);
}
2.4 编写Jdbc工具类JdbcUtils,用来获得数据库连接和释放数据库相关资源。当我们的UserDao接口的实现类是利用jdbc方式实现的话,就需要用到这个工具类。
bbs.dao.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public final class JdbcUtils {
private static String url = "jdbc:mysql://localhost:3306/newbbs";
private static String user = "root";
private static String password = "123456";
private JdbcUtils() {
}
static {
try {
Class.forName("sql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new ExceptionInInitializerError(e);
}
}
public static Connection getConnection() throws SQLException {
Connection(url, user, password);
}
public static void free(ResultSet rs, Statement st, Connection conn) {
try {
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (st != null)
st.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
2.5 编写UserDao接口的实现类UserDaoJdbcImpl(利用Jdbc方式实现的),因为我们仅仅实现登录功能,所以在这个类中我们仅仅把UserDao接口中的public boolean valid(User user)方法给实现了。代码如下:
bbs.dao.impl;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论