前言
只有光头才能变强。
文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y
项目GitHub地址:
https://github.com/ZhongFuCheng3y/BookSystem
用户模块
要登陆后才能购买,因此我们先写购买模块.
设计实体
private String id;
private String username;
private String password;
private String email;
private String cellphone;
private String address;
//各种setter、getter
设计数据库表
CREATE TABLE user (
id VARCHAR(40) PRIMARY KEY,
username VARCHAR(20) NOT NULL,
cellphone VARCHAR(20) NOT NULL,
address VARCHAR(40) NOT NULL,
email VARCHAR(30),
password VARCHAR(30) NOT NULL
);
编写DAO
/**
* 用户的登录注册模块
* 1:登陆
* 2:注册
* 3:根据id查找具体的用户
*/
public class UserDaoImpl {
public void register(User user) {
QueryRunner queryRunner = new QueryRunner(Utils2DB.getDataSource());
String sql = "INSERT INTO user (id,username,cellphone,address,email,password) VALUES(?,?,?,?,?,?)";
try {
queryRunner.update(sql, new Object[]{user.getId(),user.getUsername(), user.getCellphone(), user.getAddress(), user.getEmail(), user.getPassword()});
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public User login(String username, String password) {
QueryRunner queryRunner = new QueryRunner(Utils2DB.getDataSource());
String sql = "SELECT * FROM user WHERE username = ? AND password=?";
try {
return (User) queryRunner.query(sql, new Object[]{username, password}, new BeanHandler(User.class));
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public User find(String id) {
QueryRunner queryRunner = new QueryRunner(Utils2DB.getDataSource());
String sql = "SELECT * FROM user WHERE id=?";
try {
return (User) queryRunner.query(sql, id, new BeanHandler(User.class));
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
抽取DAO
public interface UserDao {
void register(User user);
User login(String username, String password);
User find(String id);
}
编写Service
private UserDao userDao = DaoFactory.getInstance().createDao("zhongfucheng.dao.impl.UserDaoImpl", UserDao.class);
public void registerUser(User user) {
userDao.register(user);
}
public User loginUser(String username,String password) {
return userDao.login(username, password);
}
public User findUser(String id) {
return userDao.find(id);
}
前台样式
head.jsp
<div id="User">
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
<button name="login">登陆button>
<button name="register">注册button>
div>
head.css
#body {
position: relative;
}
#user {
position: absolute;
margin-top: 130px;
margin-left: 1364px;
}
效果:
![81994016dd950f690eb12f1488497f93.png](https://img-blog.csdnimg.cn/img_convert/81994016dd950f690eb12f1488497f93.png)
实现登陆注册功能
当点击登陆按钮的时候,把数据带过去给Servlet,让Servlet调用BusinessService方法,实现登陆。注册同理…..因此,我们需要用到JavaScript代码
head.jsp
if test="${user==null}" >
"User">
用户名:"text" id="username">
密码:"password" id="password">"login" onclick="login()">登陆"register" onclick="register()">注册
if>
if test="${user!=null}" >
"User">
欢迎您:${user.username} "${pageContext.request.contextPath}/UserServlet?method=Logout">注销
if>
javaScript代码