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. 修改Ceph 监视器地址

    原文链接:https://blog.csdn.net/lzw06061139/article/details/51953900 获取monmap转储当前Ceph集群的monmap到/tmp/monma ...

  2. 第1篇 Scrum冲刺博客

    一.Alpha阶段各成员任务 梁天龙 任务名称 预计工时  编辑历史记录  2  登陆按键设计  3  考勤记录页面 2  人数记录页面  2  学习课程页面 4  建议页面  2 黄岳康 任务名称 ...

  3. 匹配对象方法:group() 与 groups()

    当在处理正则表达式的时候,除了正则表达式对象之外,还有另一个对象类型:匹配对象,即是成功调用match()或者search()所返回的对象. 匹配对象有两个主要方法:group() 和 groups( ...

  4. Mybatis动态语句

    If元素If元素是简单的条件判断逻辑,满足制定条件时追加if元素的SQL,不满足条件时不追加,使用格式如下: <select ….> SQL语句1 <if test=“条件表达式”& ...

  5. ugui 自定义字体

    Unity/UI —— 使用字符图片自定义字体(Custom Font) ---[佳] https://blog.csdn.net/qq_28849871/article/details/777190 ...

  6. Netty学习笔记-入门版

    目录 Netty学习笔记 前言 什么是Netty IO基础 概念说明 IO简单介绍 用户空间与内核空间 进程(Process) 线程(thread) 程序和进程 进程切换 进程阻塞 文件描述符 文件句 ...

  7. Codeforces 1337C Linova and Kingdom

    题意 给你一颗有根树,你要选择\(k\)个点,最大化\(\sum_{i \in S} val_i\),其中\(S\)是被选点的集合,\(val_i\)等于节点\(i\)到根的路径上未被选择点的个数. ...

  8. redis在windows下安装教程

    安装过程 1.首先先把下载的压缩包解压到一个文件夹中2.打开cmd指令窗口3.输入你刚才解压的文件路径4.然后输入redis-server redis.windows.conf 命令接下来部署Redi ...

  9. Thymeleaf 中如何实现including

    Problem:Jsp中有including,Thymeleaf中有无类似的语法? Solution:有,Themeleaf中提供同样功能的标签是 th:fragment="blockNam ...

  10. Oracle WITH 语句 语法

    With语句可以在查询中做成一个临时表/View,用意是在接下来的SQL中重用,而不需再写一遍. With Clause方法的优点: 增加了SQL的易读性,如果构造了多个子查询,结构会更清晰. 示例: ...