使用Struts框架,实现用户登陆功能

本文介绍了如何使用Struts框架实现用户登录功能,详细讲解了MVC设计模式、Struts工作原理,并通过实例操作展示创建Web项目、编写ActionForm和Action类、配置Struts-config文件以及视图层JSP文件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

使用Struts框架,实现用户登陆功能

      前言:本篇文章是本人这周学习的一个小结,在自我总结的同时,希望也能够给其他同学带来一点帮助。本文主要知识是参照书本上的知识点以及网上其他博客文章,在上机操练后的所得,具体源码主要来自http://blog.youkuaiyun.com/lovesummerforever/article/details/17348871

本文主要包括以下三点:MVC设计模式基本概念、Struts工作原理、使用Struts框架实现用户登陆具体实例操作。

 

一、        MVC设计模式

    在了解MVC模式之前,先要弄清楚什么是设计模式。

    设计模式是一套被反复使用、多数人知晓的、代码设计经验的总结,模式必须是典型问题的解决方案。设计模式的作用是解决一类问题的成功经验,是为了可重用代码、让代码更容易被他人理解、保证代码的可靠性。

    MVC是一种流行的软件设计模式,这种模式将应用程序实现分为模型(Model)、视图(View)和控制器(Controller)三个部分,主要特点是把显示和数据分离,增加了软件的可重用性。MVC设计模式具体如图一:

 

图一:MVC设计模式

1、  模型(Model)

    模型表示数据和业务处理,它可以分为数据模型和业务模型,分别代表应用程序的状态和业务逻辑。模型对应的组件是JavaBean或者Java类,只需写一次就可以被多个视图重用,减少了代码的重复性。用一句话来说:模型就是实现系统中的具体功能模块。

2、  视图(View)

    视图是用户看到的与之交互的界面,负责数据采集和处理用户的请求。视图只是作为一种输出数据并允许用户操纵的方式,对应的组件是JSP或HTML文件。

3、  控制器(Controller)

    控制器是接受用户端的请求,将模型和视图联系在一起,实现用户请求的功能。对应的组件是Servlet,起承上启下的枢纽作用。

 

二、        Struts工作原理

    Struts是第一个按照MVC设计模式搭建的Web开发框架,基于Struts开发的应用由三类组件构成:控制器组件、模型组件和视图组件。具体模型如图二:

图二:Struts结构图

1、  控制器组件

    控制器组件包括ActionServlet(核心控制器)和自定义的Action(代表一个用户的操作)。ActionServlet的只要功能是将一个客户端的请求映射到相应的Action,如果该Action配置了指定的ActionForm,那么就在request中抓取数据填充到这个ActionForm,然后调用Action的execute方法。在execute方法执行完成后,ActionServlet将接受包括有下一个资源信息的ActionFoward对象,并将请求转至下一个资源。

2、  视图组件

    视图组件包括JSP页面、ActionForm和Struts标签。视图组件一般由JSP实现,还包括自定义的ActionForm类和Struts标签。自定义的ActionForm类用于封装页面提交的数据,且ActionForm类需要在struts-config.xml中配置,从页面获得输入属性与表单域name属性值一致。

3、  模型组件

   模型组件包括定义和实现业务逻辑的接口和类。模型组件并不由Struts提供,由普通的接口和JavaBean充当,需要用户自己编码实现。例如,用户登陆时获取用户名和密码并与数据库中数值比较的接口等。

 

三、        使用Struts框架实现用户登陆具体实例操作

1、 创建Web项目,添加Struts到项目

      首先创建一个Web项目,输入项目名Struts_Login后,选择MyEclipse工具中的MyEclipse菜单中的Project Capabilities->Add Struts Capabilities命令,具体如图三:

图三:添加Struts框架Jar包到项目

    在添加完Struts框架jar包文件后,系统为自动产生struts-config.xml文件,并在web.xml中自动添加ActionServlet。

2、  实现登陆功能的ActionForm类和Action类编写

    ActionForm主要用来封装页面输入的表单信息,本例中只设置了用户名和密码两个信息,具体类名是LoginActionForm。代码如下:

复制代码

package com.liu.struts;

import org.apache.struts.action.ActionForm;

public class LoginActionForm extends ActionForm {
    
     /**
     * 
     */
    private static final long serialVersionUID = 1L;
    //用户名。  
    private String username;  
    //密码。  
    private String password;  
     
    //设置密码。  
    public void setPassword(String password) {  
       this.password = password;  
    }  
    //得到用户名。  
    public String getUsername() {  
       return username;  
    }  
    //设置用户名。  
    public void setUsername(String username) {  
       this.username = username;  
    }  
    //得到密码。  
    public String getPassword() {  
     
       return password;  
    }  

}

复制代码

    Action类主要是用来实现具体用户操作的功能,本例中LoginAction类继承Action,表示用户的登陆操作。具体代码如下:

复制代码


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值