利用Spring IOC技术实现用户登录验证机制

 更新时间:2016年10月18日 13:53:02   作者:Hosens  
这篇文章主要为大家详细介绍了Spring IOC技术实现用户登录验证机制的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

利用 Spring IOC 技术实现用户登录的验证机制,对用户进行登录验证。

首先利用 Spring 的自动装配模式将 User 对象注入到控制器中,然后将用户输入的用户名和密码与系统中限定的合法用户的用户名和密码进行匹配。

当用户名与密码匹配成功时,跳转到登录成功页面;当用户名与密码不匹配时,跳转到登录失败的页面。

1.创建 User 对象,定义用户名和密码属性,代码如下:

package com.importnew;

public class User {
  private String username;
  private String password;
  
  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;
  }
}

2.创建控制器 TestUtil ,注入 User 对象并进行登录验证。代码如下:

package com.importnew;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class TestUtil extends AbstractController{
  
  private User user;

  public User getUser() {
    return user;
  }
  public void setUser(User user) {
    this.user = user;
  }
  @Override 
  protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
      HttpServletResponse arg1) throws Exception {
    String username = arg0.getParameter("username");
    String password = arg0.getParameter("password");
    if(username.equals(user.getUsername()) && password.equals(user.getPassword())){
      return new ModelAndView("yes");
    }else{
      
      return new ModelAndView("Error");
    }
  }
}

3.在 Spring 的配置文件 applicationContext.xml 中为 User 对象的属性赋值,并使用自动装配的方式在控制器 TestUtil 中注入 User 对象。代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:aop="http://www.springframework.org/schema/aop"
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop.xsd">
    
   <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <property name="prefix">
       <value>/</value>
     </property>
     <property name="suffix">
       <value>.jsp</value>
     </property>
   </bean>
   
   <bean id="user" class="com.importnew.User" >
     <property name="username">
       <value>admin</value>
     </property>
     <property name="password">
       <value>123</value>
     </property>
   </bean>
   
   <bean autowire="byName" id="testUtil" class="com.importnew.TestUtil" >
     <property name="user">
       <ref bean="user"/>
     </property>
   </bean>
</beans>

4.在 web.xml 文件中配置 applicationContext.xml 的自动加载,当项目启动后程序将自动加载配置文件中的信息。代码如下:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
 <display-name>Archetype Created Web Application</display-name>
 <servlet>
     <servlet-name>dispatcherServlet</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <init-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>/applicationContext.xml</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
     <servlet-name>dispatcherServlet</servlet-name>
     <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 
</web-app>


备注:

TestUtil 中继承的类 AbstractController 需要引关于 spring-web-mvc 的 JAR 包支持。

////end

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Intellij IDEA基于Springboot的远程调试(图文)

    Intellij IDEA基于Springboot的远程调试(图文)

    这篇文章主要介绍了Intellij IDEA基于Springboot的远程调试(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • SPRINGMVC JSON数据交互如何实现

    SPRINGMVC JSON数据交互如何实现

    这篇文章主要介绍了SPRINGMVC JSON数据交互如何实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Fluent Mybatis 批量更新的使用

    Fluent Mybatis 批量更新的使用

    本文主要介绍了Fluent Mybatis 批量更新的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • java自定义动态链接数据库示例

    java自定义动态链接数据库示例

    这篇文章主要介绍了java自定义动态链接数据库示例,需要的朋友可以参考下
    2014-02-02
  • 使用mybatis的typeHandler对clob进行流读写方式

    使用mybatis的typeHandler对clob进行流读写方式

    这篇文章主要介绍了使用mybatis的typeHandler对clob进行流读写方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Spring超详细讲解创建BeanDefinition流程

    Spring超详细讲解创建BeanDefinition流程

    Spring在初始化过程中,将xml中定义的对象解析到了BeanDefinition对象中,我们有必要了解一下BeanDefinition的内部结构,有助于我们理解Spring的初始化流程
    2022-06-06
  • java 与web服务器链接的实例

    java 与web服务器链接的实例

    这篇文章主要介绍了java 与web服务器链接的实例的相关资料,使用net.Socket类sock.getInetAddress()方法获得与Web服务器连接,需要的朋友可以参考下
    2017-07-07
  • Java生成10个1000以内的随机数并用消息框显示数组内容然后求和输出

    Java生成10个1000以内的随机数并用消息框显示数组内容然后求和输出

    这篇文章主要介绍了Java生成10个1000以内的随机数并用消息框显示数组内容然后求和输出,需要的朋友可以参考下
    2015-10-10
  • Java默认传入时间段时间的实例

    Java默认传入时间段时间的实例

    下面小编就为大家带来一篇Java默认传入时间段时间的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • SpringMVC上传和解析Excel方法

    SpringMVC上传和解析Excel方法

    这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论