*未解决 javaweb登录+验证码 bug存留
2024-10-21 03:43:56
参考: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层- -实践不够 继续往下了 存档为主
最新文章
- windows内网渗透技巧
- left join on 和where条件的放置
- IBatis一对多查询
- css实现三角箭头
- Java基础之创建窗口——使用BoxLayout管理器(TryBoxLayout4)
- Nginx状态监控
- HDU1028 Ignatius and the Princess III 【母函数模板题】
- phpstorm 2016.1注册码
- 服务器编程入门(4)Linux网络编程基础API
- Hadoop安装教程
- iOS开发UITableView基本使用方法总结 分类: ios技术 2015-04-03 17:51 68人阅读 评论(0) 收藏
- HDU-1828-Picture(线段树)
- CentOS7.x机器安装Azure CLI2.0
- 11. 将博客部署到tomcat上
- TortoiseHg 学习笔记
- 第八届蓝桥杯省赛 K倍区间
- python模块分析之logging日志(四)
- c++学习笔记(七)- lambda表达式 迭代器 算法
- eclipse 出现内存溢出问题解决办法
- MFC如何在有界面的应用程序中开启控制台窗口