项目使用技术:servlet+jsp+mybatis

用户登录:
根据用户名和密码查询用户信息。查到则登录成功,查不到则登录失败。
用户退出:
销毁session


登录思路:

  1. 浏览器在登录页面发起登录请求 →
  2. 处理登录的servlet,从请求数据中获取到登录用到的用户名和密码 →
  3. 调用service层进行业务处理(调用mapper层 查询数据) →
  4. service 对返回数据处理传递到servlet →
  5. servlet 根据返回结果判断并用session 携带成功或失败信息 →

1.成功携带用户信息跳转主页面,现实功能

2.失败携带失败提示跳转失败页面,提示账号或密码错误

省略mybaitis工具类 ; log4j.properties ; db.properties ;页面无用代码,

下列代码按执行顺序放置

pojo

节约篇幅省略及其常规操作

public class User implements Serializable {private int id;private  String uname;private String password;private String sex;private int age;private String birthday;
}

servlet

package com.lin.servlet;import com.lin.pojo.User;
import com.lin.service.LoginService;
import com.lin.service.impl.LoginServiceImpl;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;/*** 用户登录 操作*/
public class UserLoginServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置请求响应编码格式req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");//接收请求信息String uname = req.getParameter("uname");String password = req.getParameter("password");//处理请求信息调用service层LoginService service = new LoginServiceImpl();User user = service.UserLogin(uname, password);HttpSession session = req.getSession();if (user !=null){session.setAttribute("user",user);resp.sendRedirect("/main.jsp");}else {session.setAttribute("error","登录失败");resp.sendRedirect("/login.jsp");}}
}

service

interface

package com.lin.service;import com.lin.pojo.User;public interface LoginService {/*** 用户登录* @param uname 用户名* @param password 密码* @return*/User UserLogin(String uname, String password);
}

impl

package com.lin.service.impl;import com.lin.mapper.UserMapper;
import com.lin.pojo.User;
import com.lin.service.LoginService;
import com.lin.util.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;public class LoginServiceImpl implements LoginService {@Overridepublic User UserLogin(String uname, String password) {SqlSession session = MyBatisUtil.getSession();UserMapper mapper = session.getMapper(UserMapper.class);User user = mapper.userLogin(uname, password);session.close();if (user!=null){return user;}else {return null;}}
}

mapper

interface

package com.lin.mapper;import com.lin.pojo.User;
import org.apache.ibatis.annotations.Param;public interface UserMapper {/*** 用户登录* @param uname 用户名* @param password 密码* @return*/User userLogin(@Param("uname") String uname ,@Param("password") String password);
}

xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lin.mapper.UserMapper"><select id="userLogin" resultType="User" parameterType="User">select * from t_user where uname=#{uname} and pwd=#{password};</select>
</mapper>

页面处理失败情况代码


用户退出:

销毁session

servlet

public class UserOutServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置求情响应编码req.setCharacterEncoding("utf-8");resp.sendRedirect("text/html;charset=utf-8");//处理请求信息 获取sessionHttpSession session = req.getSession();//销毁sessionsession.invalidate();//响应处理结果(重定向)resp.sendRedirect("/login.jsp");}
}

html退出登录_[实战小剧场servletamp;jsp] 用户登录及退出功能实现相关推荐

  1. jsp用session判断输入框_[实战小剧场servletamp;jsp] 用户登录及退出功能实现

    项目使用技术:servlet+jsp+mybatis 用户登录: 根据用户名和密码查询用户信息.查到则登录成功,查不到则登录失败. 用户退出: 销毁session 登录思路: 浏览器在登录页面发起登录 ...

  2. python用户登录_【python】实例-用户登录系统

    有N,E,Q三个选择,若选择Q或者中断,则系统退出.若其他选项,则持续让用户选择. #!/usr/bin/env python db = {} def newuser(): prompt = 'log ...

  3. 小米商城html代码_微服务架构实战:商城的用户登录与账户切换设计、订单查询设计...

    商城的用户登录与账号切换设计 在移动商城的设计中,除商品和分类查询是完全开放权限的页面外,其他涉及个人隐私的个人信息.订单查询和购物车等都必须进行权限管理. 有关用户权限管理的功能,在这里根据移动设备 ...

  4. html用户登录页面设计,简洁时尚的用户登录界面设计效果

    这是一款简洁时尚的用户登录界面设计效果.该用户登录效果使用CSS和JS来完成,它使用元素滑动效果来制作登录表单动画,字体效果时尚大方,是非常不错的用户登录界面UI设计效果. 使用方法 HTML结构 该 ...

  5. java 登录拦截器_springMVC 拦截器-用户登录拦截实战

    各位小伙伴 咱们继续学习新知识 今天要分享的就是 拦截器 不知道小伙伴们平时上网的时候有没有注意到,尤其是上网购物的时候,不登录账号,就无法访问一些功能页面,比如你不登录账号,就没法查看购物车里面有什 ...

  6. python编写登录_通过Python编写一个简单登录功能过程解析

    通过Python编写一个简单登录功能过程解析 需求: 写一个登录的程序, 1.最多登陆失败3次 2.登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3.要检验输入是否为空,账号和密码不能为空 ...

  7. jsp用户登录验证_Java之使用过滤器进行登录验证

    前言 过滤器是一种 Java 组件,这一点与 Servlet 类似,用于在请求发到 Servlet 之前进行拦截并处理,或者在 Servlet 执行完毕之后,在发送回客户端之前对响应进行拦截并处理. ...

  8. php mysql ajax登录界面_PHP+jQuery+Ajax实现用户登录与退出

    本文使用Ajax无刷新登录和退出,从而提升了用户体验. 若用户为登录状态,则显示用户相关登录信息,否则显示登录表单. 用户登录与退出功能应用在很多地方,而在有些项目中,我们需要使用Ajax方式进行登录 ...

  9. Servlet+jsp用户登录加上验证码

    最近公司有个项目被客户拿去进行漏洞扫描,发现用户登录太简单,容易被暴力破解.当然发现的问题很多,什么反射型XSS,存储型XSS,敏感信息泄露等等.但是我们今天不讲这么多,就说说如何修复暴力破解的问题. ...

最新文章

  1. SAP WM中阶之存储类型设置界面里的’Return Stock To Same Storage Bin’
  2. html5中上传图片
  3. 30段极简Python代码:这些小技巧你都Get了么
  4. 架构漫谈:我心中的架构
  5. OpenVINO 2020版没有cpu_extension.dll问题解决
  6. python里pai_关于python如何调用win32pai操作cmd的方法
  7. 11部高分学科纪录片,助力孩子涨姿势拓视野~
  8. 连接池超时配置_HttpClient连接池的一些思考
  9. CentOS7配置JAVA环境变量
  10. java虚拟机标志_《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合...
  11. mysql sql注入工具_基础篇——SQL注入(工具注入)
  12. psql sql语法
  13. jQuery 图片放大预览插件
  14. 在线985,211高校查询
  15. python迭代器的设计
  16. Android Eclipse 处理重构“AndroidPackageNameRefactoring”时捕获到异常
  17. jquery+thinkphp实现跨域抓取数据的方法
  18. 基于大并发抽奖的队列实现
  19. f-stack nginx 多进程模式启动 main_loop 流程分析
  20. excel数据库_从案例说excel如何实现数据库管理

热门文章

  1. 中文语音识别pytorch
  2. webpack相关配置
  3. Spark 2.4重磅发布:优化深度学习框架集成,提供更灵活的流式接收器
  4. Why Object.prototype.hasOwnProperty.call(myObj, prop)
  5. Redis持久存储-AOFRDB
  6. Problem A: 平面上的点——Point类 (I)
  7. 好插件让你事半功倍!【资源篇】
  8. 替换软连接导致的问题
  9. Nginx 动静态访问分离
  10. git reset 之后的后悔药