大家好,我是码农锅锅,今天发布的文章是基于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 {
}
}
下面是运行截图
登录前
登录后
好的小伙伴们,今天我们就到这里吧,下次见,拜拜!