参考: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层- -实践不够 继续往下了 存档为主

最新文章

  1. windows内网渗透技巧
  2. left join on 和where条件的放置
  3. IBatis一对多查询
  4. css实现三角箭头
  5. Java基础之创建窗口——使用BoxLayout管理器(TryBoxLayout4)
  6. Nginx状态监控
  7. HDU1028 Ignatius and the Princess III 【母函数模板题】
  8. phpstorm 2016.1注册码
  9. 服务器编程入门(4)Linux网络编程基础API
  10. Hadoop安装教程
  11. iOS开发UITableView基本使用方法总结 分类: ios技术 2015-04-03 17:51 68人阅读 评论(0) 收藏
  12. HDU-1828-Picture(线段树)
  13. CentOS7.x机器安装Azure CLI2.0
  14. 11. 将博客部署到tomcat上
  15. TortoiseHg 学习笔记
  16. 第八届蓝桥杯省赛 K倍区间
  17. python模块分析之logging日志(四)
  18. c++学习笔记(七)- lambda表达式 迭代器 算法
  19. eclipse 出现内存溢出问题解决办法
  20. MFC如何在有界面的应用程序中开启控制台窗口

热门文章

  1. php自定义分页类
  2. 并发bug之源(二)-有序性
  3. day19-web开发会话技术01
  4. (C++) 类与 static_cast 与 dynamic_cast
  5. linux deb系 apache 配置解析php文件
  6. K8s安装乐维5.0应用部署文档
  7. Zabbix技术分享——docker组件编译使用教程
  8. JavaScript:操作符:空值合并运算符(??)
  9. netkit-telnet源码编译安装
  10. android studio 写一个桌球简单页面