程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Spring:驗證用戶登錄,spring驗證用戶登錄

Spring:驗證用戶登錄,spring驗證用戶登錄

編輯:JAVA綜合教程

Spring:驗證用戶登錄,spring驗證用戶登錄


利用 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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved