`

用Spring MVC实现用户登录的完整实例

阅读更多
用Spring MVC实现用户登录的完整实例      本例子是再Eclipse中建立一个Tomcat工程,来讲解Spring MVC 的全过程,实例代码如下:
<一>编写日记文件放在myMVC/WEB-INF/src下

#指定日志输入文件的大小

log4j.appender.stdout.MaxFileSize=500KB

log4j.appender.stdout.MaxBackupIndex=50

log4j.appender.stdout.Append=true

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[%-5p]%d{yyyy-MM-ddHH:mm:ss}%c-%m%n

#定义log4j的显示方式

log4j.appender.A1=org.apache.log4j.RollingFileAppender

#指定日志输入文件的名称

log4j.appender.A1.File=org.log

#指定日志输入文件的大小

log4j.appender.A1.MaxFileSize=500KB

log4j.appender.A1.MaxBackupIndex=50

log4j.appender.A1.Append=true

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%d{ISO8601}-[%P][%C{1}]-%m%n

#定义log4j的显示方式

log4j.appender.A1=org.apache.log4j.RollingFileAppender

#指定日志输入文件的名称

log4j.appender.A1.File=gc.log

#指定日志输入文件的大小

log4j.appender.gc.MaxFileSize=500KB

log4j.appender.gc.MaxBackupIndex=50

log4j.appender.gc.Append=true

log4j.appender.gc.layout=org.apache.log4j.PatternLayout

log4j.appender.gc.layout.ConversionPattern=%d{ISO8601}-[%P][%C{1}]-%m%n

<二>配置web.xml



<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

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

version="2.4"

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

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

  <servlet>

     <servlet-name>dispatcherServlet</servlet-name>

     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

     <!-- 初始化参数 -->

     <init-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>/WEB-INF/dispatcherServlet-servlet.xml</param-value>

     </init-param>

  </servlet>

  <servlet-mapping>

     <servlet-name>dispatcherServlet</servlet-name>

     <url-pattern>*.do</url-pattern>

  </servlet-mapping>

  <taglib>

     <taglib-uri>/spring</taglib-uri>

     <taglib-location>/WEB-INF/spring.tld</taglib-location>

  </taglib>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>


<三>编写登录页面myMVC/gc/jsp目录下login.jsp



<%@taglib prefix="spring" uri="/spring"%>

<%@ page contentType="text/html;charset=GBK"%>

<html>

<head><title><spring:message code="title"/></title></head>

<body>

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

      <spring:bind path="command.username">

         <spring:message code="username"></spring:message>

         <input type="text" name="${status.expression }"value="${status.value }"/>

         <br>

         <font color="red"><b>${status.errorMessage }</b></font><br>

      </spring:bind>

      <spring:bind path="command.password">

         <spring:message code="password"></spring:message>

         <input type="password" name="${status.expression }"value="${status.value }"/>

         <br>

         <font color="red"><b>${status.errorMessage }</b></font><br>

      </spring:bind>

      <spring:bind path="command.password2">

         <spring:message code="password2"></spring:message>

         <input type="password" name="${status.expression }"value="${status.value }"/>

         <br>

         <font color="red"><b>${status.errorMessage }</b></font><br>        

      </spring:bind>

      <input type="submit" value="<spring:messagecode='submit'/>"/>

   </form>

</body>

</html>


<四>编写显示成功的页面myMVC/gc/jsp目录下success.jsp


<%@taglib prefix="spring" uri="/spring"%>

<%@page contentType="text/html;charset=GBK"%>

<html>

<head><title><spring:message code="title"></spring:message></title></head>

<body>

   <spring:bind path="command.username">

      <h3><spring:message code="welcome"></spring:message>{status.value }<spring:message code="loginSuccess"/></h3><br>

   </spring:bind>

</body>

</html>


<五>编写存放用户登录信息的Bean,在com.gc.action包中建立Java文件User.java



package com.gc.action;

publicclass User {

    private String username=null;

    private String password=null;

    private String password2=null;

    public String getPassword() {

       returnpassword;

    }

    publicvoid setPassword(String password) {

       this.password = password;

    }

    public String getPassword2() {

       returnpassword2;

    }

    publicvoid setPassword2(String password2) {

       this.password2 = password2;

    }

    public String getUsername() {

       returnusername;

    }

    publicvoid setUsername(String username) {

       this.username = username;

    }

}


<六>在com.gc.action包下编写用户验证类UserValidator.java


package com.gc.action;

import com.gc.action.User;

import org.springframework.validation.Validator;

import org.springframework.validation.Errors;

publicclass UserValidator implements Validator {

    publicboolean supports(Class clazz){

       return clazz.equals(User.class);

    }

    publicvoid validate(Object obj,Errors errors){

       User user=(User)obj;

       if(!"tang".equals(user.getUsername())){

           errors.rejectValue("username", "usernameerror", null, "用户名不正确");

       }

       if(!"123456".equals(user.getPassword())){

           errors.rejectValue("password", "passworderror", null, "密码不正确");

       }

       if(!user.getPassword().equals(user.getPassword2())){

           errors.rejectValue("password2", "password2error", null, "2次输入密码不一致");

       }

    }

}


<七>在com.gc.action包下编写用户登录逻辑Login.java


package com.gc.action;

import java.util.Map;

import org.apache.log4j.Logger;

import org.springframework.validation.BindException;

import org.springframework.web.servlet.ModelAndView;

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

publicclass Login extends SimpleFormController{

    private Logger logger=Logger.getLogger(this.getClass().getName());

    public ModelAndView onSubmit(Object command,BindException errors)throws Exception{

       User user=(User)command;

       Map modle=errors.getModel();

       modle.put("user", user);

       returnnew ModelAndView(getSuccessView(),modle);

    }

}


<八>myMVC/WEB-INF目录下编写配置文件dispatcherServlet-servlet.xml


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

"http:www.springframework.org/dtd/spring-bean.dtd">

<beans>

   <!-- 定义国际化消息 -->

   <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">

      <property name="basename">

         <value>messages</value>

      </property>

   </bean>

   <!-- 定义映射 -->

   <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

      <property name="mapping">

         <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都放在WEB-INF/jsp目录下 -->

      <property name="prefix">

         <value>/WEB-INF/jsp</value>

      </property>

      <!-- JSP页面的后缀都四.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>


<九>myMVC/WEB-INF/src目录下编写资源文件messages.properties及messages_en_US.properties
messages.properties

title=SpringMVC实例

username=输入用户名:

password=输入密码:

password2=确认密码:

submit=提交

welcome=欢迎

loginSuccess=登录成功

usernameerror=用户名不正确

passworderror=密码不正确

doublepassword=2次密码不一致
   native2ascii工具转码后

title=SpringMVC\u5b9e\u4f8b

username=\u8f93\u5165\u7528\u6237\u540d:

password=\u8f93\u5165\u5bc6\u7801:

password2=\u786e\u8ba4\u5bc6\u7801:

submit=\u63d0\u4ea4

welcome=\u6b22\u8fce

loginSuccess=\u767b\u5f55\u6210\u529f

usernameerror=\u7528\u6237\u540d\u4e0d\u6b63\u786e

passworderror=\u5bc6\u7801\u4e0d\u6b63\u786e

doublepassword=2\u6b21\u5bc6\u7801\u4e0d\u4e00\u81f4
messages_en_US.properties


title=SpringMVC

username=username

password=password

password2=password2

submit=submit

welcome=welcome

loginSuccess=loginSuccess

usernameerror=usernameerror

passworderror=passworderror

doublepassword=doublepassworderror

分享到:
评论
2 楼 hhl0209 2008-07-25  
看来应用就是不广泛啊  !不过是个好例子!顶下
1 楼 mljmq 2008-04-25  
good!

相关推荐

    Spring MVC实现用户登录的完整实例

    以上就是使用Spring MVC实现用户登录的完整实例的详细步骤,涵盖了模型、视图、控制器以及安全方面的知识。通过这个实例,开发者可以更好地理解Spring MVC的工作原理,并能以此为基础构建更复杂的Web应用程序。

    spring MVC的HelloWorld完整实例

    总的来说,"spring MVC的HelloWorld完整实例"提供了一个简单的起点,帮助开发者了解Spring MVC的工作原理和基本配置。通过这个实例,你可以学习到如何创建控制器、配置Spring MVC、处理请求和返回响应,以及如何在...

    Spring MVC 基于注解实例

    Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...

    spring mvc,spring, hibernate 整合登录实例

    在本文中,我们将深入探讨如何将Spring MVC、Spring和Hibernate这三大流行框架整合在一起,以构建一个完整的登录实例。这个实例旨在提供一个清晰、简洁且易于理解的代码结构,帮助初学者快速上手。 首先,Spring ...

    基本的spring mvc + spring security实现的登录(无数据库)

    在本项目中,我们主要探讨的是如何利用Spring MVC和Spring Security框架构建一个基本的无数据库登录系统。Spring MVC是Spring框架的一部分,用于处理Web应用程序的请求-响应模型,而Spring Security则是一个强大的...

    Spring+Spring MVC+Spring JDBC+MySql实现简单登录注册

    在此项目中,Spring MVC用于处理用户登录注册的HTTP请求,实现前后端交互。 3. **Spring JDBC**:Spring JDBC模块提供了一层抽象,简化了与数据库的交互。它包含模板类如JdbcTemplate,用于执行SQL语句,并处理结果...

    Spring MVC 的注解使用实例

    在Spring MVC框架中,注解的使用极大地简化了配置,提高了开发效率。Spring MVC通过注解可以实现控制器、方法映射、模型数据绑定、视图解析等关键功能。本实例将深入探讨Spring MVC中常见的注解及其应用。 1. `@...

    Spring MVC 入门实例

    这篇文章将教你快速地上手使用 Spring 框架. 如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring...

    Spring MVC框架实例

    **Spring MVC 框架实例详解** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的 Model-View-Controller (MVC) 模型的实现。在基于 Spring 2.5 的项目中,XML 配置是主要的配置方式,相比...

    Spring mvc、 Spring、 Spring jdbc 整合实例源码

    在整合Spring MVC、Spring和Spring JDBC的实例中,你可能会看到以下几个关键部分: 1. **配置文件**:包括Spring的主配置文件(如`applicationContext.xml`),其中定义了Bean的配置,包括DataSource、JdbcTemplate...

    spring mvc+ibats实例

    该实例的价值在于提供了完整的Spring MVC + iBatis的集成示例,包括项目的构建配置、依赖管理以及核心组件的配置。这对于初学者理解这两个框架的协同工作和实际应用非常有帮助,同时对有经验的开发者来说,也是一个...

    一个完整的Spring MVC的CRUD操作实例

    本实例将深入探讨如何实现一个完整的Spring MVC CRUD操作。 首先,我们来了解CRUD操作的基本概念。CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)的首字母缩写,代表了数据库操作中最基本的...

    Spring MVC jar包

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...

    Spring Mvc实例

    总结来说,Spring MVC实例展示了如何通过注解驱动开发实现Web应用的路由控制、数据绑定、视图解析以及数据库操作。这个实例对于理解Spring MVC的工作原理和实际应用是非常有帮助的,也是Java Web开发者必备的技能之...

    Spring MVC 基础实例源码01

    这个"Spring MVC 基础实例源码01"的资源很可能是为了帮助初学者理解Spring MVC的核心概念和基本用法。下面我们将详细探讨Spring MVC的一些关键知识点。 1. **MVC模式**:MVC(Model-View-Controller)是一种设计...

    SSM(Spring MVC、Spring、Mybatis)三大框架搭载及用户注册案例源码下载

    使用maven与MyEclipse整合ssm(Spring MVC、Spring、Mabatis)三大框架并实现用户注册实例源码下载,里面包含一个src目录、pom.xml文件,以及readme.txt。请先阅读readme.txt里面的内容.

    spring mvc 实例

    在Spring MVC实例中,我们通常会遇到以下关键知识点: 1. **MVC架构**:MVC是一种设计模式,将应用分为三个主要部分:Model(模型)负责业务逻辑,View(视图)负责展示结果,Controller(控制器)处理用户请求并...

    基于Maven的Spring + Spring MVC + Mybatis的工程实例

    1. 该java工程师基于Maven的Spring + Spring MVC + Mybatis的工程实例 通过一个简单的登录功能了解搭建spring + mybatis的各个部分。 2. 数据库使用的是mysql5.6, 实例涉及一张表 t_user,请查看sqlScript中的脚本...

    第二章 Spring MVC 增改查实例

    在本章节中,我们将深入探讨如何使用 Spring MVC 实现增删改查(CRUD)功能。 ### 一、Spring MVC 概述 1. **DispatcherServlet**:Spring MVC 的核心组件,负责接收请求并分发到相应的处理器。 2. **Model-View-...

Global site tag (gtag.js) - Google Analytics