Java+Html+MySQL 实现 注册、登录(servlet框架)


点击直接对话:小回公益GPT

文章目录

  • Java+Html+MySQL 实现 注册、登录(servlet框架)
    • 点击直接对话:[小回公益GPT](https://gpt.huijia.cf/)
    • 一、部署tomcat的servlet包
    • 二、连接数据库准备工具
    • 三、 新建html页面
    • 四、实现servlet类
    • 五、完成所有绑定,运行服务。

前言:此博文主要介绍Java利用servlet框架实现数据库与Html数据传输,也就是前后台交互。主要使用注册和登录功能,html页面注册将个人信息插入数据库,登录查询数据库中信息匹配则登陆成功。共有“主页”、“注册”、“登录”、“登录成功”四个html页面。两个注解形式servlet类,实现“注册”、“登录”功能。一个可选择数据库增删查改封装类。功能简单,适合初学者。文中已给出所有代码。资源附件包含所有源码以及数据库文件。

注:服务器使用tomcat。查看本教程前确保eclipse中tomcat配置配置无误。

tomcat配置教程直链
源码下载 提取码: ds9u

一、部署tomcat的servlet包

  1. 配置tomcat的servlet包

  2. 选择Libraries并添加

  3. 选择Server Runtime

  4. 添加tomcat包

  5. 添加完成项目目录如图

二、连接数据库准备工具

  1. 创建数据库:
  2. 复制粘贴连接驱动包到项目下;必须放到webcontent->web-inf->lib包下
  3. 连接数据库(两种方法)
  • 1.连接数据库连接详解直链
  • 2.选择我的数据库工具类:
  • 连接我的数据库注意修改配置:

三、 新建html页面


   //index 主页
   <!DOCTYPE html>
   <html>
   <head>
   <meta charset="UTF-8">
   <title>Insert title here</title>
   </head>
   <body>
   	<a href="logon.html"><button>登录</button><br></a><br>
   	<a href="register.html"><button>注册</button></a>
   </body>
   </html>
   //logon 登录
   <!DOCTYPE html>
   <html>
   <head>
   <meta charset="UTF-8">
   <title>Insert title here</title>
   </head>
   <body>
   	<form action="Logon" method="post">
   		账号:<input type="text" name="username">
   		密码:<input type="password" name="password">
   		<input type="submit" value="登录"><input type="reset" value="重置">
   	</form>
   </body>
   </html>
   //register注册页面
   <!DOCTYPE html>
   <html>
   <head>
   <meta charset="UTF-8">
   <title>Insert title here</title>
   </head>
   <body>
   	<form action="User" method="post">
   		用户名:<input type="text" name="username"><br>
   		密码:<input type="password" name="password"><br>
   		生日:<input type="date" name="brithday"><br>
   		性别:<input type="radio" name="sex" value="男">男<input type="radio" name="sex" value="女">女<br>
   		<input type="submit" value="注册"><input type="reset" value="重置">
   	
   	</form>
   </body>
   </html>
  //success登录成功页面
   <!DOCTYPE html>
   <html>
   <head>
   <meta charset="gb2312">
   <title>Insert title here</title>
   </head>
   <body>
   	成功
   </body>
   </html>

四、实现servlet类

  1. 新建servlet类;注册页面使用
//User 注册servlet类
   package com.zhiyou.user;
   
   import java.io.IOException;
   import java.sql.ResultSet;
   import java.sql.SQLException;
   
   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 com.zhiyou.mysqltest.MysqlTool;
   
   
   @WebServlet("/User")
   public class UserFrom extends HttpServlet {
   	private static final long serialVersionUID = 1L;
          
   	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   		doPost(request, response);
   	}
   
   	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   		//设置请求的字符集
   				request.setCharacterEncoding("utf-8");
   				//设置相应的文本类型
   				response.setContentType("text/html;charset=utf-8");
   				
   				//数据库工具类
   				MysqlTool to=new MysqlTool();
   				
   				String username=request.getParameter("username");
   				String password=request.getParameter("password");
   				String brithday=request.getParameter("brithday");
   				String sex=request.getParameter("sex");
   				
   				if(username==null||password==null||brithday==null||sex==null){
   					response.sendRedirect("index.html");
   				}else{
   					System.out.println(username+"\t"+password+"\t"+brithday+"\t"+sex);
   					String sql1="select id from user where username=?";
   					Object[] objs1={username};
   					ResultSet rs=to.query(sql1, objs1);
   					try {
   						if(rs.next()){
   							response.sendRedirect("register.html");
   						}else{
   							String sql2="insert into user(username,password,brithday,sex)values(?,?,?,?)";
   							Object[] objs2={username,password,brithday,sex};
   							int a=to.update(sql2,objs2);
   							if(a>0){
   								response.sendRedirect("index.html");
   							}else{
   								response.sendRedirect("register.html");
   							}
   						}
   					} catch (SQLException e) {
   						e.printStackTrace();
   					}
   				}
   	}
   
   }
  1. 绑定servlet与html
  • 1.找到WebServlet引用
  • 2.填写到注册页面的form表单action中:
  1. 同理创建并绑定登录事件
    //Logon 登录servlet类
       package com.zhiyou.user;
       import java.io.IOException;
       import java.sql.ResultSet;
       import java.sql.SQLException;
       
       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 com.zhiyou.mysqltest.MysqlTool;
       
       
       @WebServlet("/Logon")
       public class Logon extends HttpServlet {
       	private static final long serialVersionUID = 1L;
              
       	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       		doPost(request, response);
       	}
       
       	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       		request.setCharacterEncoding("utf-8");
       		response.setContentType("text/html;charset=utf-8");
       		MysqlTool to=new MysqlTool();
       		
       		String username=request.getParameter("username");
       		String password=request.getParameter("password");
       		
       		if(username==null||password==null){
       			//重新登录
       			System.out.println("账号或密码错误!");
       			response.sendRedirect("logon.html");
       		}else{
       			String sql="select * from user where username=? and password=?";
       			Object[] objs={username,password};
       			ResultSet rs= to.query(sql, objs);
       			try {
       				if(rs.next()){
       					//登陆成功,跳转到success页面
       					System.out.println("登陆成功!!");
       					request.getRequestDispatcher("success.html").forward(request, response);
       					/*response.sendRedirect("success.html");*/
       				}else{
       					System.out.println("账号或密码错误!");
       					response.sendRedirect("logon.html");
       				}
       			} catch (SQLException e) {
       				e.printStackTrace();
       			}
       		}
       	}
       
       }


五、完成所有绑定,运行服务。

  1. 注册

  2. 数据库写入数据,控制台打印接收信息

  3. 登录

  4. 控制台打印,页面跳转

更多推荐

Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回