1.准备数据表
CREATE TABLE `user`(
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50),
`password` VARCHAR(50),
email VARCHAR(50),
`name` VARCHAR(50),
gender VARCHAR(2),
birthday VARCHAR(50)
);
2.准备相应的jar包,jar包必须放到WEB-INF切记必须重要的事情说三遍,要不然就会报一些500状态码之类的错误,并且index.jsp必须放在web根目录下,我这里是新版本变成webapp,所以等同于web,必须放在这里,启动服务器才能加载到页面,否则404,找不到资源。
3.关键代码部分(这里主要展示后端代码,注重后端逻辑)
RegisterUserServlet
package com.ljy.servlet;
import com.ljy.pojo.User;
import com.ljy.service.UserService;
import org.apache.commons.beanutils.BeanUtils;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.Map;
@WebServlet(name = "register", value = "/register")
public class RegisterUserServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/*
* 获取客户端提交的数据 Map
* 数据封装到JavaBean对象中 (User)
* 调⽤业务层的⽅法,传递User
* ⻚⾯重定向到登录⻚⾯
*/
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
Map<String, String[]> map = request.getParameterMap();
User user = new User();
try {
BeanUtils.populate(user,map);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
UserService service = new UserService();
try {
service.register(user);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
response.sendRedirect(request.getContextPath()+"/login.jsp");
}
}
UserDao
package com.ljy.dao;
import com.ljy.pojo.User;
import com.ljy.util.DruidUtils;
import org.apache.commons.dbutils.QueryRunner;
import java.sql.SQLException;
public class UserDao {
public void register(User user) throws SQLException {
QueryRunner qr = new QueryRunner(DruidUtils.getDataSource());
String sql="insert into user values(?,?,?,?,?,?,?)";
Object [] params={
user.getId(),user.getUsername(),user.getPassword(),user.getEmail(),user.getName(),
user.getGender(),user.getBirthday()
};
qr.update(sql,params);
}
}