注册功能实现
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎注册</title>
</head>
<body>
<form action="setuser" method="post">
账号:<input type="text" name = "username"><br>
密码:<input type = "password" name = "userpass"><br>
<input type = "submit" value = "注册">
</form>
</body>
</html>
package login;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mysql.setinguser;
/**
* Servlet implementation class setuser
*/
@WebServlet("/setuser")
public class setuser extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public setuser() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
PrintWriter pw = response.getWriter();
pw.append("sss");
String username = request.getParameter("username");
String userpass = request.getParameter("userpass");
System.out.println("账号:"+username);
System.out.println("密码:"+userpass);
setinguser uu = new setinguser(username,userpass);
if(uu.seting()) {
response.sendRedirect("login.html");
System.out.println("创建成功");
}else {
response.sendRedirect("login.html");
System.out.println("创建失败");
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
package mysql;
import java.sql.*;
public class setinguser {
String user = "root";
String password = "123123";
// Date createtime = new java.sql.Date(now);
private String name ;
private String pass ;
public setinguser(String username, String userpass){
this.name = username;
this.pass = userpass;
}
public boolean seting() {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/login";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String che = "select * from user where name ='"+name+"'";
ResultSet rs = stmt.executeQuery(che);
System.out.println(che);
System.out.println(rs);
if(name!=null&&name!=""&&!rs.next()) {
String sql = "insert into user (name,password) values(?,?)";
// System.out.println(sql);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, pass);
if(ps.executeUpdate()!=0) {
return true;
}else {
return false;
}
}else {
System.out.println("账号已存在或者账号不符合规则");
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
// TODO: handle exception
}
}
}
- 4 总结
总结一下,这里我用的出入数据库的代码有点繁琐
事实上这样的插入数据的方式并非常用的
还是前端样式凭借个人喜好自己设计