`
阅读更多
Struts2框架出来有段时间了,终于开始学习Struts了,也写点东西记录下自己的历程
此文主要来自www.blogjava.net/Max的实例,自己是初学,自己动手实践真的很有趣,有不对的地方希望大家给有指正。
首先login.jsp页面表单:
<s:form action="login" method="post">
        
<s:textfield name="username" label="USERNAME" tooltip="Enter Your UserName"></s:textfield>
        
<s:password name= "password" label="PASSWORD" tooltip="Enter Your PassWord"></s:password>
        
<s:submit label="login"></s:submit>
</s:form>
struts.xml文件action配置:
<action name="login" class="com.bulktree.struts2.LoginAction">
            
<result name="success">/welcome.jsp</result>
            
<result name="input">/login.jsp</result>
        
</action>
处理表单的LoginAction.java类文件:
package com.bulktree.struts2;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
    
    
private String username;
    
private String password;
    
    
public String getUsername() {
        System.out.println(
"******getUsername()*****");
        
return username;
    }

    
public void setUsername(String username) {
        System.out.println(
"*****setUsername()*****");
        
this.username = username;
    }

    
public String getPassword() {
        System.out.println(
"******getPassword()*****");
        
return password;
    }

    
public void setPassword(String password) {
        System.out.println(
"******setPassword******");
        
this.password = password;
    }

    @Override
    
public String execute() throws Exception {
        System.out.println(
"*****execute()*****");
        
return SUCCESS;
    }

    @Override
    
public void validate() {
        System.out.println(
"******validate******");
        
if(null == username || username.length() < 5{
            
this.addFieldError("username","USERNAME ERROR");
        }

        
if(null == password || password.length() < 5{
            
this.addFieldError("password","PASSWORD ERROR");
        }

    }

    
}
显示页面welcome.jsp
YOUR USERNAME:<FONT size="5" color="red"><s:property value="username"/></FONT><br>
    YOUR PASSWORD:
<FONT size="5" color="red"><s:property value="password"/></FONT><br>
控制台输出信息:
******setPassword******  //set赋值操作
*****setUsername()*****  //set赋值操作
以上有struts2框架自动执行
******validate******  //表单验证
*****execute()*****  //业务逻辑
以上有struts2框架自动执行
******getUsername()*****  //get方法得到值返回到welcome.jsp页面
******getPassword()*****  //get方法得到值返回到welcome.jsp页面
 

客户端输入login.jsp表单传回服务器时action="login" 请求转发到struts.xml 匹配 name="login" class="com.bulktree.struts2.LoginAction" 找到处理请求的LoginAction类,进行自动set方法赋值,赋值后自动的执行 String execute()方法,返回String类型,默认为SUCCESS,(struts.xml文件里action name属性默认为success)根据返回的String的值,决定执行哪个页面

<result name="success">/welcome.jsp</result> “/”表示绝对路径
分享到:
评论

相关推荐

    Struts2表单验证

    Struts2是一个流行的Java web开发框架,其在处理用户表单数据时提供了强大的验证功能,确保输入的数据符合预期的格式和规则。本文将深入探讨Struts2的表单验证机制。 首先,Struts2的输入验证分为两种方式:手动...

    Struts2表单数据获取项目

    Struts2是一个强大的Java web应用程序开发框架,它简化了MVC(模型-视图-控制器)架构的实现,使得开发者可以更专注于业务逻辑,而不用过多地处理底层的HTTP请求和响应细节。在这个名为"Struts2表单数据获取项目"的...

    Struts-_1.2.x_请求处理流程图

    在Struts 1.2.x中,请求处理流程是整个框架的核心部分,它涉及到了从用户发起请求到服务器响应的完整过程。下面将详细解释这个流程。 1. **请求开始**: 当用户通过浏览器向服务器发送HTTP请求时,请求通常会指向一...

    Struts2详细分类流程API文档

    在Struts2框架中,一个典型的请求处理过程如下: 1. **用户请求**:用户通过浏览器发送HTTP请求到服务器。 2. **过滤器Dispatcher**:Struts2的核心组件FilterDispatcher拦截请求,根据配置文件(struts.xml)确定...

    struts2 表单验证 注册

    在Struts2中,你可以创建一个Action类来处理注册请求,这个类通常会有一个与表单对应的Java对象作为属性。每个属性对应一个字段,可以通过`@FieldValidator`注解定义验证规则。此外,还需要在`struts.xml`配置文件...

    struts1的工作流程

    综上所述,Struts1的工作流程主要包括用户请求的接收、请求的解析、ActionForm的创建与验证、Action的执行以及结果的呈现。这一流程清晰地展示了Struts1如何实现MVC设计模式,帮助开发者更好地组织代码结构,提高...

    Struts2的运行流程

    在本文中,我们将深入探讨Struts2的运行流程,了解它是如何处理用户的请求并协调各个组件来实现业务逻辑和视图展示的。 首先,让我们回顾一下在HelloWorld示例中所涉及的基本步骤: 1. 在`web.xml`配置文件中,...

    Struts2极速表单验证框架(注解)

    2. Struts2拦截请求,查找Action类上的`@Validated`注解。 3. 对Action类的属性应用`@Field`注解,执行相应的验证规则。 4. 如果验证失败,Struts2将填充Action的`fieldErrors`,并根据配置返回错误结果。 5. 验证...

    Struts框架响应客户请求的工作流程

    ### Struts框架响应客户请求的工作流程详解 #### Struts框架简介 Struts是一个开源的Java Web应用程序框架,属于MVC(Model-View-Controller)架构模式的一种实现。它通过简化Web应用开发,使得开发者能够更加关注...

    struts2jar包

    Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...

    struts1.2 from表单提交包含list的对象

    首先,让我们来了解Struts1.2中的表单提交流程。当用户在Web页面上填写表单并点击提交按钮时,浏览器会发送一个HTTP请求到服务器。在Struts1.2中,这个请求会被Struts的ActionServlet捕获,ActionServlet会根据配置...

    留言板留言板struts2留言板struts2

    这个"留言板留言板struts2"项目,显然是一个基于Struts2实现的简单留言板系统,旨在展示Struts2的核心功能和开发流程。下面将详细介绍Struts2框架以及在该项目中可能涉及的关键知识点。 1. **Struts2框架概述**:...

    struts2小程序 struts2代码

    在`struts2小程序`中,可能会包含一个或多个Action类,负责处理用户请求并返回相应的结果。 2. **配置文件**:Struts2使用XML配置文件(struts.xml或struts.properties)来定义Action、结果类型、拦截器等。这些...

    Struts程序的执行流程.pdf

    2. ActionServlet根据ActionForm的请求信息,查找struts-config.xml配置文件中定义的Action映射,确定应该调用哪一个Action对象。 3. ActionServlet创建Action对象的实例,并调用该对象的execute()方法。在execute...

    struts1和struts2的区别

    - **Struts2**: 每个Action实例都只服务于一次请求,之后会被销毁。这样可以确保每个Action实例都是干净的状态,不会出现意外的数据污染。同时,这种方式也降低了内存消耗。 #### Servlet依赖 - **Struts1**: ...

    Struts2视频教程

    - **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...

    struts2实验一:动态方法调用+请求参数的获取+简单的表单数据验证

    这个实验是学习Struts2的基础,通过实践,你可以深入理解Struts2的请求处理流程,动态方法调用的机制,以及如何进行表单数据验证。完成这个实验后,你可以进一步探索Struts2的拦截器、结果类型、国际化、文件上传...

    struts1与Struts2的流程

    1. **流程概述**:在Struts2中,请求首先由`StrutsPrepareAndExecuteFilter`处理。如果请求是Action,框架将创建`ActionInvocation`,并通过`ActionProxy`准备`Action`和拦截器链。执行拦截器后,执行`Action`的方法...

    struts2课程笔记

    首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户发起HTTP请求时,Struts2的过滤器(如TestFilter示例)会捕获请求,...

Global site tag (gtag.js) - Google Analytics