spring mvc 简单登录例子

来源:互联网 发布:淘宝美工有发展前景 编辑:程序博客网 时间:2024/05/17 07:17
 

 

------------------------------loginaction

package com.gc.action;

import java.net.BindException;
import java.util.HashMap;
import java.util.Map;

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

public class Login extends SimpleFormController {
 //复写 onSubmit
 @SuppressWarnings("unchecked")
 public ModelAndView onSubmit(Object command,BindException errors)
 throws Exception{
  User user=(User)command;
  //Map model=(() errors).getModel();
  Map model=new HashMap();
  model.put("user",user);
 
  return new ModelAndView(getSuccessView(),model);
 
 
 }
 

}
-----------------------------------User 类

package com.gc.action;

public class User {
 
 private String username=null;
 private String password=null;
 private String password2=null;
 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;
 }
 public String getPassword2() {
  return password2;
 }
 public void setPassword2(String password2) {
  this.password2 = password2;
 }
 

}


------------------UserValidator 类

 

package com.gc.action;

import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

public class UserValidator implements Validator {

 public boolean supports(Class arg0) {
  // TODO Auto-generated method stub
  return arg0.equals(User.class);
 }

 public void validate(Object obj, Errors errors) {
        User user=(User)obj;
        if(!"gf".equals(user.getUsername()))
        {
         errors.rejectValue("username", "",null,"用户名不正确");
        }
       
        if(!"123456".equals(user.getPassword()))
        {
         errors.rejectValue("password", "",null,"密码不正确");
        }
        if(!user.getPassword().equals(user.getPassword2()))
        {
         errors.rejectValue("password2", "",null,"2次输入的密码不一致");
        }
       
       
 
 }

}

 


-----------------------------dispatcherServlet-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
 "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <!-- 定义映射 -->
    <bean id="urlMapping"
        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
       
        <property name="mappings">
            <props>
                <prop key="login.do">login</prop>
            </props>
        </property>
       
      
       
    </bean>
     <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.InternalResourceView</value>
        </property>
        <!-- 定义JSP存放路径 -->
         <property name="prefix">
            <value>/WEB-INF/jsp/</value>
         </property>
         <!-- 定义JSP页面后缀 -->
         <property name="suffix">
            <value>.jsp</value>
         </property>
        
    </bean>

    <!-- 定义控制器 -->
    <bean id="login" class="com.gc.action.Login">
        <property name="commandClass">
            <value>com.gc.action.User</value>
        </property>
        <property name="validator">
            <ref bean="userValidator"/>
        </property>
       
        <property name="formView">
             <value>login</value>
        </property>
       
        <property name="successView">
             <value>success</value>
        </property>
    </bean>
   
   
   <bean id="userValidator" class="com.gc.action.UserValidator"></bean>

</beans>

----------------------------login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="spring" uri="/spring" %>
<html>
<head><title>SpringMVC登录实例</title></head>

<body>
   <form name="User" action="/springmvc/login.do" method="post">

       <spring:bind path="command.username">
            输入用户名 :<input type="text" name="${status.expression}" value="${status.value}"/>
      <font color="red"><b>${status.errorMessage} </b></font><br>
       </spring:bind>

       <spring:bind path="command.password">
            密码:<input type="text" name="${status.expression}" value="${status.value}"/>
      <font color="red"><b>${status.errorMessage} </b></font><br>
       </spring:bind>

     <spring:bind path="command.password2">
            确认密码:<input type="text" name="${status.expression}" value="${status.value}"/>
      <font color="red"><b>${status.errorMessage} </b></font><br>
       </spring:bind>
         <input type="submit" value="提交">
    </form>

</body>
</html>

---------------------------------------------------------------

原创粉丝点击