javaweb实现登录系统,登陆系统界面,servlet跳转,登录过程中error错误信息获取

涉及内容(适合初学javaweb者):

  • javaweb
  • MySQL
  • servlet
  • jsp

项目导航

运行tomcat定向到login界面:
运行tomcat后,浏览器会默认打开index.jsp页面,需要在index.jsp中添加如下代码,使默认打开login.jsp。

<body>
<jsp:forward page="login.jsp"></jsp:forward>
</body>

用户登录的jsp页面:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--Created by IntelliJ IDEA.User: HPDate: 2021/10/16Time: 22:47To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>登录</title>
</head>
<body>
<%request.setCharacterEncoding("utf-8");response.setContentType("text/html; charset=UTF-8");//获取登录操作转发的信息Object error = request.getAttribute("error");System.out.println("error = " + error);
%>
<form action="LoginServlet" method="post"><table align="center" width="600px" bgcolor="#f0f8ff" height="320px"><tr><th colspan="600px" height="120px" align="center"><font size="5px" color="black">员工信息管理系统</font></th></tr><tr><td colspan="600px" height="50px" align="center"><input type="text" name="name" placeholder="请输入账号"></td></tr><tr><td colspan="600px" height="50px" align="center"><input type="password" name="password" placeholder="请输入密码"></td></tr><tr><td align="center"><font color="red"><%=(error == null ? "" : error)%></font></td></tr><tr><th><input type="submit" value="登录"></th></tr></table>
</form>
</body>
</html>

登录界面效果:

controller中的loginServlet映射:

package controller;import dao.EmployeeDao;
import utils.JDBCUtils;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;@WebServlet(name = "LoginServlet", value = "/LoginServlet")
public class LoginServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//判断登陆信息是否正确request.setCharacterEncoding("utf-8");response.setContentType("text/html; charset=UTF-8");//获取表单账号密码String name = request.getParameter("name");String password = request.getParameter("password");System.out.println("name = " + name);System.out.println("password = " + password);//设置错误信息String error;if (null==name||null==password||"".equals(name)||"".equals(password)){//告知用户账号或密码不能为空error = "账号或密码不能为空";request.setAttribute("error",error);//把错误信息返回到登录界面request.getRequestDispatcher("login.jsp").forward(request, response);}else {//校验用户账号或密码是否正确EmployeeDao emp = new EmployeeDao();boolean flag = emp.loginQuery(name,password);if (flag){//登陆成功request.setAttribute("name",name);System.out.println(name+"登陆成功");//重定向到首页request.getRequestDispatcher("home_page.jsp").forward(request, response);}else {//设置错误信息error = "账号或密码错误";request.setAttribute("error",error);request.getRequestDispatcher("login.jsp").forward(request, response);}}}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

验证登录的String error用于返回错误的信息:

  1. error = “账号或密码不能为空”;request.setAttribute(“error”,error);
  2. error = “账号或密码错误”;request.setAttribute(“error”,error);
  3. 获取到错误将error转发到login.jsp



Dao层查询账号密码是否正确数据

package dao;import utils.JDBCUtils;import java.sql.ResultSet;
import java.sql.SQLException;public class EmployeeDao {//根据账号密码查询public boolean loginQuery(String name,String password){boolean b = false;String sqlQuery = "select * from employee where name=? and password=?";ResultSet rs = JDBCUtils.query(sqlQuery,name,password);try {if (rs.next()){b = true;}else {b=false;}} catch (SQLException throwables) {throwables.printStackTrace();}return b;}
}

utils数据库查询方法

public static ResultSet query(String sql,Object... objs){//预处理getConnect();try {statement = connection.prepareStatement(sql);//判断objs是否为空或为0if(objs != null && objs.length > 0){for (int i = 0; i < objs.length; i++) {statement.setObject(i+1,objs[i]);}}//查询操作resultSet = statement.executeQuery();} catch (SQLException throwables) {throwables.printStackTrace();}return resultSet;}

gitee代码:https://gitee.com/guo-yc/gyc202/tree/master/src/IDEA/src/Web

写此文主要是想认真总结,主动写代码的逻辑,训练一下自己敲代码的速度,这只是入门,算是一步步记录自己的学习过程,本人也是初学javaweb,本文有不当的地方欢迎大佬改正。

javaweb登录系统账号密码验证等相关推荐

  1. Python 简易登录系统账号密码检测

    # 简易登录系统账号密码检测""" 知识点:1.while 循环语句2.if/elif/else 条件语句 """# 定义变量 s = 3 ...

  2. python白名单验证是什么意思_luminati python+selenium使用方式(白名单和账号密码验证方式)...

    一,在Windows下使用 1.官网登录后下载对应的exe代理软件 2.下载完成后打开,打开完成后登录127.0.0.1:22999,然后输入用户名和密码进行登录.登录成功后进入到如下界面 3.将本机 ...

  3. HTTP 账号密码验证

    http请求带用户名和密码验证_wdk的博客-CSDN博客_url带用户名和密码 转载自:HTTP 账号密码验证_qq_25600055的专栏-CSDN博客 HTTP 账号 密码验证 17330059 ...

  4. 使用Hashcat破解Windows系统账号密码

    使用Hashcat破解Windows系统账号密码 Simeon 笔者最近对oclHashcat工具破解密码进行了研究,偶有所得,因此撰文跟大家一起分享,本次破解对象选择破解Windows7用户密码.o ...

  5. Elasticsearch、Elasticsearch-head、Kibana 安全设置账号密码验证登陆

    Elasticsearch.Elasticsearch-head.Kibana 安全设置账号密码验证登陆 我的小站.Github.CSDN X-Pack 是 Elastic Stack 的一个扩展,提 ...

  6. 360浏览器保存密码设置_电脑小技巧查看浏览器保存的系统账号密码

    电脑小技巧--电脑做无线热点 电脑小技巧--U盘坏了如何修复 电脑小技巧--自动维护计划.任务关闭.禁用 电脑小技巧--预防U盘中毒 电脑小技巧--提高U盘读写速度 电脑小技巧--调整引导高级选项加快 ...

  7. 宝塔Linux面板登录的账号密码忘了怎么办?

    宝塔Linux面板登录的账号密码忘了怎么办? 别担心 , 忘了没事 , 在 Xshell 5 这个与服务器连接的软件中输入以下命令行 : /etc/init.d/bt default 结果如下图所示 ...

  8. html页面设置账号密码,html登录界面设置账号密码

    html网页设计:一个简单的登录界面代码. 用html代码编写一个简单的登陆界面 登录 jsp作业 登录 登录到jsp作业 Email 密码 记住密码 登录 注册 javascript html 设计 ...

  9. Vue实现登录记住账号密码功能的思路与过程

    文章来源: 学习通http://www.bdgxy.com/ 目录 实现思路 这里有三种方法来存储账号密码: 功能界面 记住账号密码功能的具体实现 密码加密 localStorage cookies ...

最新文章

  1. 科幻电影里的超能力?那不就是并发嘛!
  2. ecplise 下的.class .project .setting 文件介绍
  3. nginx配置文件基本配置
  4. 程序员面试题精选100题(09)-链表中倒数第k个结点[数据结构]
  5. 简单了解各种序列化技术-Hessian序列化框架
  6. iPhone X 刘海打理指北
  7. 往事历历在目--我的2009年工作总结
  8. ios 原生android系统下载地址,Android/iOS已有原生项目集成ReactNative
  9. “全宇宙首个”用中文编写的操作系统,作者还自创了甲、乙、丙编程语言?
  10. windbg调试C#代码(二)
  11. ironpython怎么编译_将IronPython WPF项目编译为
  12. Spring Cloud入门五 hystrix
  13. HTML5新增的几种选择器详解
  14. mysql清数据库并导入_mysql 数据库导入数据
  15. 阿尔法营任务黑客机器人游戏答案
  16. U盘格式化,教你如何将U盘格式化后速度变的更快
  17. 解决QML debugging is enabled.Only use this in a safe environment.警告
  18. python与seo实战课程it技术_python与SEO实战课程学习B计划
  19. 华为v2服务器系统安装系统,华为服务器RH 2288H v2安装系统
  20. 高数 | 积分中值定理的开闭区间、积分第一中值定理及其推广

热门文章

  1. java成果_JAVA WEB期末项目第二阶段成果
  2. python global 变量_python 全局变量和局部变量 (例子)
  3. Java中static的含义和用法
  4. 极性大小判断技巧_“赫洛克效应”:夸奖能激发孩子的潜能,但父母要掌握技巧与原则...
  5. php attr,PHP DOMAttr isId()用法及代码示例
  6. pythondir什么意思_Python之dir()与__dict__的区别
  7. 家用笔记本电脑什么牌子好_家用什么牌子的吸尘器好?
  8. java高级断言_Java之断言
  9. 所有的工程师都鄙视 php 工程师.,程序员的鄙视链(所有工程师都鄙视php工程师23333)...
  10. Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据