javaweb登录系统账号密码验证等
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用于返回错误的信息:
- error = “账号或密码不能为空”;request.setAttribute(“error”,error);
- error = “账号或密码错误”;request.setAttribute(“error”,error);
- 获取到错误将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登录系统账号密码验证等相关推荐
- Python 简易登录系统账号密码检测
# 简易登录系统账号密码检测""" 知识点:1.while 循环语句2.if/elif/else 条件语句 """# 定义变量 s = 3 ...
- python白名单验证是什么意思_luminati python+selenium使用方式(白名单和账号密码验证方式)...
一,在Windows下使用 1.官网登录后下载对应的exe代理软件 2.下载完成后打开,打开完成后登录127.0.0.1:22999,然后输入用户名和密码进行登录.登录成功后进入到如下界面 3.将本机 ...
- HTTP 账号密码验证
http请求带用户名和密码验证_wdk的博客-CSDN博客_url带用户名和密码 转载自:HTTP 账号密码验证_qq_25600055的专栏-CSDN博客 HTTP 账号 密码验证 17330059 ...
- 使用Hashcat破解Windows系统账号密码
使用Hashcat破解Windows系统账号密码 Simeon 笔者最近对oclHashcat工具破解密码进行了研究,偶有所得,因此撰文跟大家一起分享,本次破解对象选择破解Windows7用户密码.o ...
- Elasticsearch、Elasticsearch-head、Kibana 安全设置账号密码验证登陆
Elasticsearch.Elasticsearch-head.Kibana 安全设置账号密码验证登陆 我的小站.Github.CSDN X-Pack 是 Elastic Stack 的一个扩展,提 ...
- 360浏览器保存密码设置_电脑小技巧查看浏览器保存的系统账号密码
电脑小技巧--电脑做无线热点 电脑小技巧--U盘坏了如何修复 电脑小技巧--自动维护计划.任务关闭.禁用 电脑小技巧--预防U盘中毒 电脑小技巧--提高U盘读写速度 电脑小技巧--调整引导高级选项加快 ...
- 宝塔Linux面板登录的账号密码忘了怎么办?
宝塔Linux面板登录的账号密码忘了怎么办? 别担心 , 忘了没事 , 在 Xshell 5 这个与服务器连接的软件中输入以下命令行 : /etc/init.d/bt default 结果如下图所示 ...
- html页面设置账号密码,html登录界面设置账号密码
html网页设计:一个简单的登录界面代码. 用html代码编写一个简单的登陆界面 登录 jsp作业 登录 登录到jsp作业 Email 密码 记住密码 登录 注册 javascript html 设计 ...
- Vue实现登录记住账号密码功能的思路与过程
文章来源: 学习通http://www.bdgxy.com/ 目录 实现思路 这里有三种方法来存储账号密码: 功能界面 记住账号密码功能的具体实现 密码加密 localStorage cookies ...
最新文章
- 科幻电影里的超能力?那不就是并发嘛!
- ecplise 下的.class .project .setting 文件介绍
- nginx配置文件基本配置
- 程序员面试题精选100题(09)-链表中倒数第k个结点[数据结构]
- 简单了解各种序列化技术-Hessian序列化框架
- iPhone X 刘海打理指北
- 往事历历在目--我的2009年工作总结
- ios 原生android系统下载地址,Android/iOS已有原生项目集成ReactNative
- “全宇宙首个”用中文编写的操作系统,作者还自创了甲、乙、丙编程语言?
- windbg调试C#代码(二)
- ironpython怎么编译_将IronPython WPF项目编译为
- Spring Cloud入门五 hystrix
- HTML5新增的几种选择器详解
- mysql清数据库并导入_mysql 数据库导入数据
- 阿尔法营任务黑客机器人游戏答案
- U盘格式化,教你如何将U盘格式化后速度变的更快
- 解决QML debugging is enabled.Only use this in a safe environment.警告
- python与seo实战课程it技术_python与SEO实战课程学习B计划
- 华为v2服务器系统安装系统,华为服务器RH 2288H v2安装系统
- 高数 | 积分中值定理的开闭区间、积分第一中值定理及其推广
热门文章
- java成果_JAVA WEB期末项目第二阶段成果
- python global 变量_python 全局变量和局部变量 (例子)
- Java中static的含义和用法
- 极性大小判断技巧_“赫洛克效应”:夸奖能激发孩子的潜能,但父母要掌握技巧与原则...
- php attr,PHP DOMAttr isId()用法及代码示例
- pythondir什么意思_Python之dir()与__dict__的区别
- 家用笔记本电脑什么牌子好_家用什么牌子的吸尘器好?
- java高级断言_Java之断言
- 所有的工程师都鄙视 php 工程师.,程序员的鄙视链(所有工程师都鄙视php工程师23333)...
- Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据