java web实现注册登陆

页面效果

点击访问该页面

图解分析

通过工具类连接mysql数据库,之后可以直接调用,避免重复写代码,通过servlet将用户注册信息存入数据库,登陆时查询校验,从而实现登陆。

至于具体的页面校验没写,以后补充,毕竟正则也忘得差不多了,后面再补回来

源码

工具类

DBconnect.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.yolin.tools;
import java.sql.*;

public class DBconnect {
public Connection getconn(){
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn=(Connection) DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","123456");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}

注册的servlet实现

DBregister.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.yolin.tools;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.sql.*;
public class DBregister extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=utf-8");
String username=request.getParameter("username"); //网页发送过来的用户名
String password=request.getParameter("password"); //密码
System.out.println(username+" "+password);
String sql="insert into login values('"+username+"','"+password+"');";
DBconnect db=new DBconnect();
Connection conn=db.getconn();
try {
Statement stat=conn.createStatement();
stat.execute(sql);
response.getWriter().println("<h1 align='center'>注册成功,2秒后跳转登陆页面</h1>");
response.setHeader("Refresh","2;url=/web_test/login1.html");
stat.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

登陆的servlet实现

DBdemo1.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.yolin.tools;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;

public class DBdemo1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String username=request.getParameter("username"); //网页发送过来的用户名
String password=request.getParameter("password"); //密码
System.out.println(username+" "+password);
String sql="select password,username from login where username="+"'"+username+"'";
String pwd="";
String usr="";
try {
DBconnect db=new DBconnect();
Connection conn= db.getconn();
System.out.println(conn); //查看数据库是否连接成功
Statement stat=conn.createStatement(); //获取sql语句执行对象
//stat.executeQuery(sql);
ResultSet res=stat.executeQuery(sql);
while(res.next()){
System.out.println(res.getString(1)+""+res.getString(2)); //查询该数据库中的密码
pwd=res.getString(1);
usr=res.getString(2);
}
if(usr==""){
response.getWriter().println("<h1 align='center'>用户不存在,即将返回</h1>");
response.setHeader("Refresh", "2;url=/web_test/login1.html");
}else
if(password.equals(pwd)){
System.out.println("密码正确");
response.getWriter().println("<h1 align='center'>密码正确,登录成功,2秒后跳转主页</h1>");
response.setHeader("Refresh","2;url=/web_test/success1.html");
}else{
System.out.println("密码错误");
response.getWriter().println("<h1 align='center'>密码错误,登录失败,即将返回</h1>");
response.setHeader("Refresh", "2;url=/web_test/login1.html");
}
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

三个html页面

3个html页面已经打包,需要的话直接下载吧

登陆_注册_成功页面.rar

请我喝杯咖啡吧~

支付宝
微信