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

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

文章目录

  • Java+Html+MySQL 实现 注册、登录(servlet框架)
    • 一、部署tomcat的servlet包
    • 二、连接数据库准备工具
    • 三、 新建html页面
    • 四、实现servlet类
    • 五、完成所有绑定,运行服务。

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

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

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

一、部署tomcat的servlet包

  1. 配置tomcat的servlet包
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第1张图片

  2. 选择Libraries并添加
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第2张图片

  3. 选择Server Runtime
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第3张图片

  4. 添加tomcat包
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第4张图片

  5. 添加完成项目目录如图
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第5张图片

二、连接数据库准备工具

  1. 创建数据库:
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第6张图片
  2. 复制粘贴连接驱动包到项目下;必须放到webcontent->web-inf->lib包下
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第7张图片
  3. 连接数据库(两种方法)
  • 1.连接数据库连接详解直链
  • 2.选择我的数据库工具类:
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第8张图片
  • 连接我的数据库注意修改配置:
    enter description here

三、 新建html页面

Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第9张图片
Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第10张图片

   //index 主页
   
   
   
   
   Insert title here
   
   
   	

   //logon 登录
   
   
   
   
   Insert title here
   
   
   	
账号: 密码:
   //register注册页面
   
   
   
   
   Insert title here
   
   
   	
用户名:
密码:
生日:
性别:
  //success登录成功页面
   
   
   
   
   Insert title here
   
   
   	成功
   
   

四、实现servlet类

  1. 新建servlet类;注册页面使用
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第11张图片
//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引用
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第12张图片
  • 2.填写到注册页面的form表单action中:
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第13张图片
  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();
       			}
       		}
       	}
       
       }

Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第14张图片
Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第15张图片

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

  1. 注册
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第16张图片
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第17张图片

  2. 数据库写入数据,控制台打印接收信息
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第18张图片

  3. 登录
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第19张图片

  4. 控制台打印,页面跳转
    Java+Html+MySQL 实现 注册、登录(servlet框架) --菜鸟小回_第20张图片

你可能感兴趣的:(基础)