private void login(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String verifycode = request.getParameter("verifycode");
String machinecode = (String) request.getSession().getAttribute("rand"); if (verifycode.equalsIgnoreCase(machinecode)) {
// 2.验证用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username);
User user = userService.login(username, password);
if (user != null) {
// 登录成功
request.getSession().setAttribute("user", user);
response.sendRedirect("index.jsp");
} else {
// 登录失败
request.setAttribute("msg", "用户名或密码错误");
request.getRequestDispatcher("login.jsp").forward(request,
response);
} } else {
request.setAttribute("msg", "验证码错误");
request.getRequestDispatcher("login.jsp")
.forward(request, response);
}
} private void login2(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String verifycode = request.getParameter("verifycode");
String machinecode = (String) request.getSession().getAttribute("rand"); if (verifycode.equalsIgnoreCase(machinecode)) {
// 2.验证用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username);
User user = userService.login(username, password);
if (user != null) {
// 登录成功
request.getSession().setAttribute("user", user);
PrintWriter out = response.getWriter();
out.write(JSON.toJSONString(new MsgVo(1,"登陆成功")));
} else {
// 登录失败
PrintWriter out = response.getWriter();
out.write(JSON.toJSONString(new MsgVo(2,"用户名和密码错误")));
} } else {
PrintWriter out = response.getWriter();
out.write(JSON.toJSONString(new MsgVo(3,"验证码错误")));
}
}

请求转发和重定向实现与Ajax实现表单登陆的更多相关文章

  1. Servlet中转发和重定向的路径问题以及表单提交路径问题

    一.请求转发与响应重定向的种类 有两种方式获得Servlet转发对象(RequestDispatcher):一种是通过HttpServletRequest的getRequestDispatcher() ...

  2. spring mvc 请求转发和重定向(转)

    spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...

  3. spring mvc 请求转发和重定向

    spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...

  4. Spring MVC 3.0 请求转发和重定向

    首先看一下如何获得request对象.session对象: 普通的Controller类,示例代码如下: @Controller @RequestMapping(value = "user& ...

  5. HttpServletRequest 接口、HttpServletResponse 接口、请求转发与重定向

    上篇文章我们讲了servlet的基本原理,这章将讲一下剩余的部分. HttpServletRequest 接口 该接口是 ServletRequest 接口的子接口,封装了 HTTP 请求的相关信息, ...

  6. ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段

      ServletRequest 基本概念 JavaWeb中的 "Request"对象  实际为   HttpServletRequest  或者  ServletRequest, ...

  7. 04_web基础(六)之请求转发与重定向

    1.交互方式 Web组件之间跳转: 从AServlet 跳转到 BServlet. 三种类型: 1:请求转发(forward) 2:URL重定向(redirect) 3:请求包含(include) 3 ...

  8. web之请求转发与重定向

    请求转发: 重定向:

  9. JSP中的请求转发与重定向

    在说请求转发和重定向之前,得了解下JSP九大内置对象中的response和request response:将服务器端数据发送到客户端,可通过在客户端浏览器中显示,用户浏览页面的重定向以及在客户端创建 ...

随机推荐

  1. 国际象棋棋盘输出-PHP代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. SNN对抗攻击笔记

    SNN对抗攻击笔记: 1. 解决SNN对抗攻击中脉冲与梯度数据格式不兼容性以及梯度消失问题: G2S Converter.Gradient Trigger[1] 2. 基于梯度的对抗攻击方式: FGS ...

  3. Shell编程—控制脚本

    1处理信号 1.1信号表 编号 信号名称 缺省操作 解释 1 SIGHUP Terminate 挂起控制终端或进程 2 SIGINT Terminate 来自键盘的中断 3 SIGQUIT Dump ...

  4. 启用valgrind的MPI支持

    TL;DR sudo apt install valgrind-mpi 内存泄漏和越界问题,是C/C++程序常见问题.有一些工具提供了检测内存泄漏的功能,如 valgrind 的 memchecker ...

  5. 纯CSS3图片反转

    一些简单实用的小技巧,CSS3对图片进行翻转,显示另一面的文字,或者图片效果,那么具体怎样去做呢?一起来看看吧. 在CSS3中,可以使用transform-style: preserve-3d进行3d ...

  6. Apache Pulsar 社区周报:08-15 ~ 08-21

    关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支 ...

  7. Android开发之使一打开activity等界面Edittext获取焦点,弹出软键盘java代码实现

    // 获取编辑框焦点 editText.setFocusable(true); //打开软键盘 IInputMethodManager imm = (InputMethodManager)getSys ...

  8. Unity添加自定义拓展方法

    Shepherdog|2014-04-08 10:50|16151次浏览|Unity(373)0 通常你会发现你不能修改正在使用的那些类,无论它是基础的数据类型还是已有框架的一部分,它提供的方法让你困 ...

  9. 这应该是最适合国内用户的K3s HA方案

    前 言 在面向生产环境的实践中,高可用是我们无法避免的问题,K3s本身也历经多个版本的迭代,HA方案也进行了不断优化,形成了目前的比较稳定的HA方案. 目前官方提供两种HA方案: 嵌入式DB的高可用( ...

  10. Mybatis源码学习第七天(插件开发原理)

    插件概述: 插件是用来改变或者扩展mybatis的原有功能,mybatis的插件就是通过继承Interceptor拦截器实现的,在没有完全理解插件之前j禁止使用插件对mybatis进行扩展,有可能会导 ...