使用servlet+jdbc+mysql完成
代码部分分为
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<form action="http://localhost:8080/webfive/regist" method="post">
<table width="330" height="300" bgcolor="white">
<th>
<font >用户登录</font>
</th>
<tr>
<td align="center">身份</td>
<td>
<select>
<option selected="selected">学生</option>
<option>老师</option>
<option>管理人员</option>
</select>
</td>
</tr>
<tr>
<td align="center">学号</td>
<td><input name="username"></td>
</tr>
<tr>
<td align="center">密码</td>
<td><input name="password"></td>
</tr>
<tr>
<td align="center">验证码</td>
<td><input></td>
</tr>
<tr>
<td><input align="right" type="submit" value="注册"></td>
<td><input type="button" value="忘记密码"></td>
</tr>
</table>
</form>
</body>
</html>
<servlet-mapping>
<servlet-name>RegistServlet</servlet-name>
<url-pattern>/regist</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>MsgServlet</display-name>
<servlet-name>MsgServlet</servlet-name>
<servlet-class>com.feizhuwebthree.MsgServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MsgServlet</servlet-name>
<url-pattern>/msg</url-pattern>
</servlet-mapping>
package com.feizhuwebthree;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import com.feichu.domain.User;
import com.feizhuweb_service.UserService;
/**
* 用户注册
*/
public class RegistServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码
request.setCharacterEncoding("utf-8");
//封装数据
//创建一个 user 调用user.setXxx()一个个封装不推荐
//使用beanutils封装对象
User user =new User();
try {
BeanUtils.populate(user, request.getParameterMap());
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
//调用userservice.regist(user) 返回值是int
int i;
try {
i = new UserService().regist(user);
//判断int值 讲信息请求转发到msgservlet
if(i==1) {
request.setAttribute("msg","增加成功");
request.getRequestDispatcher("/msg").forward(request, response);
}else {
request.setAttribute("msg","增加失败");
request.getRequestDispatcher("/msg").forward(request, response);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.feizhuwebthree;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 展示信息
*/
public class MsgServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码
response.setContentType("text/html;charset=utf-8");
//从request域种获取内容msg
String s=(String) request.getAttribute("msg");
//将信息打印到页面上
response.getWriter().print(s);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.feizhu_dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;
import com.feichu.domain.User;
public class UserDao {
/**
* 登录
*
* @param username
* 用户名
* @param password
* 密码
* @return 返回用户
*/
// @Test
public User getUserByUsernameAndPwd(String username, String password) throws Exception {
User user = null;
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web?characterEncoding=utf8&useSSL=false", "root", "root");
// 编写sql
String sql = "select * from user where username=? and password=?";
// 创建语句执行者
PreparedStatement st = conn.prepareStatement(sql);
// 设置参数
st.setString(1, username);
st.setString(2, password);
// 执行语句
ResultSet rs = st.executeQuery();
if (rs.next()) {
user=new User();
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
}
// 释放资源
rs.close();
st.close();
conn.close();
return user;
}
/**
* 添加用户
* @param user 用户信息
* @return
* @throws Exception
*/
public int addUser(User user) throws Exception {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web?characterEncoding=utf8&useSSL=false", "root", "root");
//编写sql
String sql="insert into user(username,password) values(?,?)";
//创建语句执行者
PreparedStatement st = conn.prepareStatement(sql);
// 设置参数
st.setString(1, user.getUsername());
st.setString(2,user.getPassword());
// 执行语句
int rs = st.executeUpdate();
st.close();
conn.close();
return rs;
}
}