html退出登录_[实战小剧场servletamp;jsp] 用户登录及退出功能实现
项目使用技术:servlet+jsp+mybatis
用户登录:
根据用户名和密码查询用户信息。查到则登录成功,查不到则登录失败。
用户退出:
销毁session
登录思路:
- 浏览器在登录页面发起登录请求 →
- 处理登录的servlet,从请求数据中获取到登录用到的用户名和密码 →
- 调用service层进行业务处理(调用mapper层 查询数据) →
- service 对返回数据处理传递到servlet →
- 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] 用户登录及退出功能实现相关推荐
- jsp用session判断输入框_[实战小剧场servletamp;jsp] 用户登录及退出功能实现
项目使用技术:servlet+jsp+mybatis 用户登录: 根据用户名和密码查询用户信息.查到则登录成功,查不到则登录失败. 用户退出: 销毁session 登录思路: 浏览器在登录页面发起登录 ...
- python用户登录_【python】实例-用户登录系统
有N,E,Q三个选择,若选择Q或者中断,则系统退出.若其他选项,则持续让用户选择. #!/usr/bin/env python db = {} def newuser(): prompt = 'log ...
- 小米商城html代码_微服务架构实战:商城的用户登录与账户切换设计、订单查询设计...
商城的用户登录与账号切换设计 在移动商城的设计中,除商品和分类查询是完全开放权限的页面外,其他涉及个人隐私的个人信息.订单查询和购物车等都必须进行权限管理. 有关用户权限管理的功能,在这里根据移动设备 ...
- html用户登录页面设计,简洁时尚的用户登录界面设计效果
这是一款简洁时尚的用户登录界面设计效果.该用户登录效果使用CSS和JS来完成,它使用元素滑动效果来制作登录表单动画,字体效果时尚大方,是非常不错的用户登录界面UI设计效果. 使用方法 HTML结构 该 ...
- java 登录拦截器_springMVC 拦截器-用户登录拦截实战
各位小伙伴 咱们继续学习新知识 今天要分享的就是 拦截器 不知道小伙伴们平时上网的时候有没有注意到,尤其是上网购物的时候,不登录账号,就无法访问一些功能页面,比如你不登录账号,就没法查看购物车里面有什 ...
- python编写登录_通过Python编写一个简单登录功能过程解析
通过Python编写一个简单登录功能过程解析 需求: 写一个登录的程序, 1.最多登陆失败3次 2.登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3.要检验输入是否为空,账号和密码不能为空 ...
- jsp用户登录验证_Java之使用过滤器进行登录验证
前言 过滤器是一种 Java 组件,这一点与 Servlet 类似,用于在请求发到 Servlet 之前进行拦截并处理,或者在 Servlet 执行完毕之后,在发送回客户端之前对响应进行拦截并处理. ...
- php mysql ajax登录界面_PHP+jQuery+Ajax实现用户登录与退出
本文使用Ajax无刷新登录和退出,从而提升了用户体验. 若用户为登录状态,则显示用户相关登录信息,否则显示登录表单. 用户登录与退出功能应用在很多地方,而在有些项目中,我们需要使用Ajax方式进行登录 ...
- Servlet+jsp用户登录加上验证码
最近公司有个项目被客户拿去进行漏洞扫描,发现用户登录太简单,容易被暴力破解.当然发现的问题很多,什么反射型XSS,存储型XSS,敏感信息泄露等等.但是我们今天不讲这么多,就说说如何修复暴力破解的问题. ...
最新文章
- SAP WM中阶之存储类型设置界面里的’Return Stock To Same Storage Bin’
- html5中上传图片
- 30段极简Python代码:这些小技巧你都Get了么
- 架构漫谈:我心中的架构
- OpenVINO 2020版没有cpu_extension.dll问题解决
- python里pai_关于python如何调用win32pai操作cmd的方法
- 11部高分学科纪录片,助力孩子涨姿势拓视野~
- 连接池超时配置_HttpClient连接池的一些思考
- CentOS7配置JAVA环境变量
- java虚拟机标志_《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合...
- mysql sql注入工具_基础篇——SQL注入(工具注入)
- psql sql语法
- jQuery 图片放大预览插件
- 在线985,211高校查询
- python迭代器的设计
- Android Eclipse 处理重构“AndroidPackageNameRefactoring”时捕获到异常
- jquery+thinkphp实现跨域抓取数据的方法
- 基于大并发抽奖的队列实现
- f-stack nginx 多进程模式启动 main_loop 流程分析
- excel数据库_从案例说excel如何实现数据库管理