基于Java_web的登录注册(超简单)

大家好,我是码农锅锅,今天发布的文章是基于Java_web的登录注册功能的实现,为了小白能够理解透彻,做的非常简单。

下面是项目结构

加上servlet才3个

这是index.jsp页面的代码,没有加任何美化

<%--
  Created by IntelliJ IDEA.
  User: 33153
  Date: 2022/12/10
  Time: 19:36
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<body>
  <head>
    <title>主页</title>
  </head>
<%
  //获取session值
  String str = (String)session.getAttribute("username");
  //如果为空,就是未登录的状态
  if(str == null)
  {
%>
  <form action="login" name="login" id="login" method="post">
  <input id="username" type="text" name="username" placeholder="请输入账号"></br>
  <p> </p>
  <input id="password" type="password" name="password" placeholder="请输入密码">
<p> </p>
    <input type="submit" id="dl" name="dl" value="登录"></br>
  </form>
<%
  }
%>
  <%
    //如果是登录的状态
    if (str != null)
    {

  %>
  用户名:<%=session.getAttribute("username")%>
  <form action="loginout.jsp" name="loginout" id="loginout" method="post">
    <input id="zx" type="submit" name="zx" value="注销">
  </form>
<%
  }
%>
  </body>
</html>

 

这是loginout.jsp页面的代码

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="gbk"%>
<%@ page import="javax.swing.*"%>
<%
    //如果session不为空,就是已经登录
    if (session != null)
    {
        //清除session
        session.removeAttribute("username");
        session.invalidate();
    }
    //跳转到主页
    response.sendRedirect("index.jsp");
%>

这是LoginServlet的代码

package com.grj;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;

public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取信息
        String zh = request.getParameter("username");
        String mm = request.getParameter("password");
        //登录情况
        int a=0;
        //加载驱动
        String driverName = "com.mysql.jdbc.Driver";
        try{
            Class.forName(driverName);
        } catch(ClassNotFoundException e)
        {
            e.printStackTrace();
        }
        String url = "jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf-8";
        try{
            Connection conn = DriverManager.getConnection(url,"root","");
            //创建Statement
            Statement stmt = conn.createStatement();
            //通过Statement对象执行sql语句
            ResultSet rs = stmt.executeQuery("select * from user");

            while(rs.next())
            {
                //如果账号密码都正确
                if (rs.getString("name").equals(zh) == true && rs.getString("password").equals(mm) == true)
                {
                    a=1;break;
                }
                //如果用户名错误
                if (rs.getString("name").equals(zh) == false)
                {
                    a=2;
                }
                //如果用户名正确且密码错误
                if (rs.getString("password").equals(mm) == false && a!=2)
                {
                    a=3;
                }
            }
            if(a==1)
            {
                //设置session值
                request.getSession().setAttribute("username",zh);
                response.sendRedirect("index.jsp");
            }
            if(a==2)
            {
                response.sendRedirect("index.jsp");
            }
            if(a==3)
            {
                response.sendRedirect("index.jsp");
            }
        }catch(SQLException e)
        {
            e.printStackTrace();
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

下面是运行截图

登录前

登录后

 

好的小伙伴们,今天我们就到这里吧,下次见,拜拜! 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值