参考:https://www.cnblogs.com/ajing2018/p/15917166.html 感谢大佬指路 虽然还是没跑起来quq

## 案例:验证码
    1. 案例需求:
        1. 访问带有验证码的登录页面login.jsp
        2. 用户输入用户名,密码以及验证码。
            * 如果用户名和密码输入有误,跳转登录页面,提示:用户名或密码错误
            * 如果验证码输入有误,跳转登录页面,提示:验证码错误
            * 如果全部输入正确,则跳转到主页success.jsp,显示:用户名,欢迎您*

“这里没有用dao层,但是写了,妄想写dao层连数据库进行比较,但是我不会啊- - 先做几个案例再回来解决 报错500比404害烦”

  • 分析

  • 项目结构

代码:

package cn.com.servlet;

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 javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Map; @WebServlet("/loginKServlet")
public class LoginKServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.设置request编码
request.setCharacterEncoding("utf-8");
//2 获取map 链接数据库就用这边这个
// Map<String, String[]> map = request.getParameterMap();
//2 简易版:
String username = request.getParameter("username");
String password = request.getParameter("password");
String checkCode = request.getParameter("checkCode");
//先获取生成的验证码
HttpSession session = request.getSession();
String checkCode_session = (String) session.getAttribute("checkCode_session");
//判断验证码
//获取数据库的值 check_session
// username =username if (checkCode_session.equalsIgnoreCase(checkCode)) {
//本来想能不能直接checkCode.equals(request.getSession().getAttribute())
//但是放在if中前面的就是为了一定程度的空指针异常 //忽略大小写
if ("admin".equals(username) && "root".equals(password)) {//调用userdao //储存信息,重定向到sussece,jsp
session.setAttribute("username", username);
response.sendRedirect(request.getContextPath() + "/success.jsp"); } else {
//不一致
request.setAttribute("login_error", "error of password or username");
//转发到登录页面
request.getRequestDispatcher("/Login.jsp").forward(request, response);
}
} else {
//不一致
request.setAttribute("cc_error", "error");
//转发到登录页面
request.getRequestDispatcher("/Login.jsp").forward(request, response);
} } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}

LoginKServlet

  • 运行结果

    •   jsp页面

    •     submit页面

单独访问failsevlet可以成功显示出来,successservlet也可以;

所以问题应该是在LoginKservlet里

但是先不管了,因为本次的代码也没有加dao层- -实践不够 继续往下了 存档为主

*未解决 javaweb登录+验证码 bug存留的更多相关文章

  1. javaweb登录验证码的实现

    第一种 第一步:  JSP <li><input name="validCode"  id="validCode" type="te ...

  2. 解决---MISCONF Redis被配置为保存RDB快照,但目前无法在磁盘上存留。可能修改数据集的命令被禁用。请检查Redis日志,了解有关错误的详细信息。

    解决---MISCONF Redis被配置为保存RDB快照,但目前无法在磁盘上存留.可能修改数据集的命令被禁用.请检查Redis日志,了解有关错误的详细信息. 出现bug: 在学习celery,将数据 ...

  3. 直接请求json文件爬取天眼查企业信息(未解决验证码问题)——python3实现

    几个月前...省略一堆剧情...直接请求json文件爬取企业信息未成功,在知乎提问后,得到解决,有大佬说带上全部headers和cookie是可以的,我就又去试了下,果然可以(之前自己试的时候不行,没 ...

  4. Vue Springboot (包括后端解决跨域)实现登录验证码功能详细完整版

    利用Hutool 基于Vue.ElementUI.Springboot (跨域)实现登录验证码功能 前言 一.Hutool是什么? 二.下面开始步入正题:使用步骤 1.先引入Hutool依赖 2.控制 ...

  5. 记一次解决tomcat自动关闭的bug

    最近一个运行了4年的javaee web项目,经常接到客户反馈系统无法打开.登录服务器查看服务,发现是tomcat自动关闭了.基本是3到4天发生一次. 运维人员开始以为是其他服务杀死了tomcat服务 ...

  6. IIS 解决问题:HTTP 错误 401.1 - 未授权:登录失败

    解决问题:HTTP 错误 401.1 - 未授权:登录失败 HTTP 错误 401.1 - 未授权:登录失败 Internet 信息服务 -----------解决这个问题,折磨了两天,终于搞定了,首 ...

  7. Selenium2学习-018-WebUI自动化实战实例-016-自动化脚本编写过程中的登录验证码问题

    日常的 Web 网站开发的过程中,为提升登录安全或防止用户通过脚本进行黄牛操作(宇宙最贵铁皮天朝魔都的机动车牌照竞拍中),很多网站在登录的时候,添加了验证码验证,而且验证码的实现越来越复杂,对其进行脚 ...

  8. Java实现登录验证码

    登录验证码 Servlet /* 从请求中获取数据,获取验证码的session的值转为String类型,       销毁,防止返回后验证码不刷新,重新验证成功       判断验证码是否相同(忽略大 ...

  9. tomcat中显示本地图片①(未解决)

    <本模块文仅作为学习过程中的自我总结,有需要可参看,欢迎指导与提出建议,很多地方可能断章取义,理解不到位,虚心求学.谢谢!> 资料查阅原因:2018/7/10(做项目中显示详情页面,从数据 ...

  10. 通过Cookie跳过登录验证码【限cookie不失效有用】

    验证码,相信每个写web自动化测试的同学来说,都是个头疼的事,怎么办呢? 方法还是有的,先说今天这种方式,通过cookie绕过登录验证码 思路: 需要你通过抓包工具抓到你登录的cookie 接下来开始 ...

随机推荐

  1. 不借助idea开发工具构建一个Javaweb项目

    不借助idea开发工具构建一个Javaweb项目 目录结构 webappsroot |----------WEB-INF |----------classes(存放字节码) |----------li ...

  2. Go语言书籍推荐

    附录: 其他书籍的介绍:https://github.com/golang/go/wiki/Books Go程序设计语言 (圣经) 作者 艾伦 A.A.多诺万 Kernighan 下载地址 中文版PD ...

  3. cmd唤醒windows设置,并配置opsshd

    1. 从cmd唤起windows设置 这个东西很有意思,大部分在运行窗口输入的内容,从cmd或powershell都能唤起,如:control控制面板,但偶尔有些操作就不能通用, 如: ms-sett ...

  4. 【云原生 · Kubernetes】部署博客系统

    [云原生 · Kubernetes]Kubernetes运维 接着上次的内容,后续来了! (1)配置NFS服务 master节点安装NFS与RPC服务: # yum install -y nfs-ut ...

  5. 面向对象进阶(static&继承)

    ​ 今日分享:static   and  继承 static: staic是修饰符 可以修饰方法和变量 变量: 被static修饰的变量称为静态变量 特点: 该类的所有对象都共享同一个静态变量:不属于 ...

  6. win10+vs2019 编译webrtc m108

    不能访问外网途径的捷径 已经下载好的资源,可以直接生成工程: https://pan.baidu.com/s/14plvXZD_qX9nn441RbsCwA?pwd=ww8c 该资源可以跳过的步骤 步 ...

  7. python安装request及更新pip

    今天在python中安装request模块时遇到了问题 爆出一大堆警告 最主要的是下面的 这里的解决方法就是更新pip: 直接使用系统给的pip升级指令好像不行 百度搜了一下,有两步 1.在C:\Py ...

  8. vue-element Form表单验证没错却一直提示错误

    在使用element-UI 的表单时,发生一个验证错误,已输入值但验证的时候却提示没有输入 修改前 <el-form-item>中的prop绑定的是cus_name,而item里面的控件绑 ...

  9. pyftpdlib中文乱码问题解决方案

    python实现简易的FTP服务器 from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import F ...

  10. 2020-12-16HDOJ-ACMsteps笔记

    1.1.5 Problem Description Your task is to calculate the sum of some integers. Input Input contains a ...