Spring登录实例

  项目结构

  首先看一下整个项目的目录结构,如下:

  导入Jar包

  工欲善必先利其器,导入一下Jar包

  配置文件

  web.xml

  配置 web.xml配置文件,如下:

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

  contextConfigLocation

  classpath:applicationContext.xml

  org.springframework.web.context.ContextLoaderListener

  applicationContext.xml

  创建applicationContext.xml配置文件,如下:

  获取数据源,数据库相关配置(注意:要配置自己的数据库相关信息),beanID:dataSource。

  创建 SqlSessionFactory,beanID:factory。

  扫描器配置,扫描接口,并创建接口对象。

  由spring管理service实现类,beanID:userService。

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://www.springframework.org/schema/beans

  http://www.springframework.org/schema/beans/spring-beans.xsd">

  value="com.mysql.jdbc.Driver">

  value="jdbc:mysql://localhost:3306/spring">

  class="org.mybatis.spring.SqlSessionFactoryBean">

  class="com.spring.service.impl.UsersServiceImpl">

  创建数据库

  创建对应的用户表,如下:

  

  数据库信息为:spring库,users表。

  代码实现

  创建Users类

  先创建一个用户类Users,如下:

  public class Users {

  private int user;

  private String username;

  private String password;

  public int getUser() {

  return user;

  }

  public void setUser(int user) {

  this.user = user;

  }

  public String getUsername() {

  return username;

  }

  public void setUsername(String username) {

  this.username = username;

  }

  public String getPassword() {

  return password;

  }

  public void setPassword(String password) {

  this.password = password;

  }

  }

  创建UsersMapper类

  创建UsersMapper类,如下:

  public interface UsersMapper {

  @Select("select * from users where username=#{username} and password=#{password}")

  Users selByUsersPwd(Users users);

  }

  创建UsersService接口

  创建UsersService类,如下:

  public interface UsersService {

  /**

  * 登录

  * @param users

  * @return

  */

  Users login(Users users);

  }

  创建UsersServiceImpl类

  创建UsersService接口实现类,如下:

  public class UsersServiceImpl implements UsersService {

  private UsersMapper usersMapper;

  public UsersMapper getUsersMapper() {

  return usersMapper;

  }

  public void setUsersMapper(UsersMapper usersMapper) {

  this.usersMapper = usersMapper;

  }

  @Override

  public Users login(Users users) {

  // TODO Auto-generated method stub

  return usersMapper.selByUsersPwd(users);

  }

  }

  创建LoginServlet类

  创建LoginServlet类,如下:

  @WebServlet("/login")

  public class LoginServlet extends HttpServlet {

  private UsersService usersService;

  //从spring中取出UsersServiceImpl

  public void init()throws ServletException{

  ApplicationContext ac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());

  usersService = ac.getBean("usersService",UsersServiceImpl.class);

  }郑州妇科咨询网站 http://www.zzkdfk120.com/

  protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException {

  req.setCharacterEncoding("utf-8");

  //获取验证码

  String code = req.getParameter("code");

  //到session中获取验证码

  String codeSession = req.getSession().getAttribute("code").toString();

  //判断验证码是否正确

  if(codeSession.equals(code)) {

  //获取用户名

  String username = req.getParameter("username");

  //获取密码

  String password = req.getParameter("password");

  //创建users对象

  Users users = new Users();

  users.setUsername(username);

  users.setPassword(password);

  //登录

  Users user = usersService.login(users);

  if(user!=null) {

  resp.sendRedirect("main.jsp");

  }else {

  req.setAttribute("error", "用户名或密码不正确!");

  req.getRequestDispatcher("index.jsp").forward(req, resp);

  }

  }else {

  req.setAttribute("error", "验证码不正确");

  req.getRequestDispatcher("index.jsp").forward(req, resp);

  }

  }

  }

Spring登录实例的更多相关文章

  1. Spring Security4实例(Java config版)——ajax登录,自定义验证

    本文源码请看这里 相关文章: Spring Security4实例(Java config 版) -- Remember-Me 首先添加起步依赖(如果不是springboot项目,自行切换为Sprin ...

  2. Spring Security4实例(Java config 版) —— Remember-Me

    本文源码请看这里 相关文章: Spring Security4实例(Java config版)--ajax登录,自定义验证 Spring Security提供了两种remember-me的实现,一种是 ...

  3. SSO 基于CAS实现单点登录 实例解析(二)

    本文目录: 概述 演示环境 部署CAS-Server相关的Tomcat 部署CAS-Client相关的Tomcat 测试验证SSO 第一: 本demo在一个机器上实现(三个虚拟主机),来看SSO单点登 ...

  4. SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例

    第一: 本demo在一个机器上实现(三个虚拟主机),来看SSO单点登录实例(我们可以布到多个机器上使用都是同一个道理的),一个服务器主机,和两个客户端虚拟主机 [html] view plaincop ...

  5. spring应用实例

    新建一个登陆页面:loginActionSupport.jsp,代码例如以下   <%@page contentType="text/html;charset=GBK" is ...

  6. SSO之CAS单点登录实例演示

    本文目录: 一.概述 二.演示环境 三.JDK安装配置 四.安全证书配置 五.部署CAS-Server相关的Tomcat 六.部署CAS-Client相关的Tomcat 七. 测试验证SSO 一.概述 ...

  7. spring得到实例和new一个实例,哪个快?

    spring配置的bean是默认单例,那么在程序中,得到一个实例一定比创建一个实例的速度快,也更加省资源.今天实际测试的时候发现,new 一个对象比spring得到一个对象快多了.后面自己又加了个单例 ...

  8. Struts2自定义拦截器Interceptor以及拦截器登录实例

    1.在Struts2自定义拦截器有三种方式: -->实现Interceptor接口 public class QLInterceptorAction implements Interceptor ...

  9. 基于CAS的SSO(单点登录)实例

    第一步 部署CAS-Server(服务端) 1.从CAS官方网站(http://developer.jasig.org/cas/)下载最新版本的CAS-Server(当前最新版本cas-server- ...

随机推荐

  1. 版本管理·玩转git(日志查看与版本切换)

    如果你想更清晰地学习git,你必须要了解3个重要区域. 工作区:即开发者的工作目录 暂存区:修改已被记录,但尚未录入版本库的区域 版本库:存储变化日志及版本信息 当你在工作区进行开发工作时,git会记 ...

  2. Linux中IP配置

    一.获取网卡名称 ip a ifconfig(安装net-tools后可用) 二.进入网卡配置文件所在路径 cd /etc/sysconfig/network-scripts/ 三.编辑网卡配置文件 ...

  3. TypeScript 学习笔记(三)

    类: 1.TypeScript 是面向对象的 JavaScript,类描述了创建的对象共同的属性和方法 2.类通过关键字 class 声明,使用 extends 关键字进行继承 3.在引用一个类成员时 ...

  4. c#_sort排序函数的返回值

    C# List.Sort函数的返回值 值 含义 小于零 left在right的前面 零 位置不变 大于零 right在left的前面 示例: 本测试结果在unity3d 和纯C#环境下执行. List ...

  5. luoguP3431 [POI2005]AUT-The Bus

    安利系列博文 https://www.cnblogs.com/tyner/p/11565348.html https://www.cnblogs.com/tyner/p/11605073.html 做 ...

  6. 201271050130-滕江南《面向对象程序设计(java)》第十一周学习总结

    项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/ ...

  7. Pwn-level3(x64)

    题目地址 https://dn.jarvisoj.com/challengefiles/level3_x64.rar.8c74c402b190ac3fbef5a9ae540c40de 跟level3差 ...

  8. python copy和deepcopy

    Python FAQ2:赋值.浅拷贝.深拷贝的区别? 发表于 2014-08-15   |   分类于 Lang.-Python  |   在写Python过程中,经常会遇到对象的拷贝,如果不理解浅拷 ...

  9. pointNet代码

    介绍 组成 1.PointNet classification network分类网络 part segmentation network 数据集 1.point clouds sampled fro ...

  10. Educational Codeforces Round 69 (Rated for Div. 2) C. Array Splitting 水题

    C. Array Splitting You are given a sorted array