`
chinagdvea
  • 浏览: 131267 次
  • 性别: Icon_minigender_1
  • 来自: 韶关
社区版块
存档分类
最新评论

Struts2学习笔记(1) - 简单注册系统

阅读更多
一.简单的注册系统

1.编写欢迎页面 index.jsp -(View)
加入
<meata http-equive="REFRESH" content="1;URL=/RegistrationPage.action" />

意为等待1秒后自从刷新,重定向到URL所指向的地址

2.编写注册页面Registration.jsp -(View)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

<! 使用struts2标记库 >
<%@ taglib prefix="s" URI="struts-tags" %> 

...

<body>

  <! 提交后交给Register动作类处理 >
  <s:form action="Register">    
  <s:textfield name="username" label="Username" />
    <s:password name="password" label="Password" />
    <s:submit />
  </s:form>
</body>
...


3编写User类 -(Model)

public class User {
  private username = "";
  private 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;
  }
}

4.编写注册动作类Register.java -(Model)

import com.opensymphony.xwork2.ActionSupport; 
//ActionSupport类提供excute()和validate方法,excute()该方法用于完成注册用户的业务逻辑,validate()方法用于完成注册用户信息的验证逻辑

public class Register extends ActionSupport {
  public String excute() {
    getUserTable().addUser(user);
    return SUCCESS;
  }

  private User user;

  public UserTable getUserTable() {
    return new UserTable();
  }

  public User getUser() {
    return user;
  }

  public void setUser(User user) {
    this.user = user;
  }

  //addFieldError()方法用于存储错误信息.该方法由interface ValidationAware提供,此接口已由ActionSupport实现
  //getText()方法用于获取属性文件中的关键字对应信息.该方法由interface TextProvider提供,此接口已由ActionSupport实现

  public void validate() {
    if (getUser().getPassword().length() == 0) {
      addFieldError("password", getText("password.required"));
    }

    if (getUser().getUsername().length() == 0)) {
      addFieldError("username", getText("username.required"));
    }
  }
}


5.编写Register动作相关联的属性文件 Register.properties
 
username.required = Username is required.
  password.required = Password is required.


6.部署sturts.xml

<!-- struts.devMode可以使struts2工作在开发模式下.
  这样可以在不重新装载应用的前提下实现 
‹ 1.在请求之间自动重新载入struts.xml文件的信息。
‹ 2.在请求之间自动重新载入资源文件。 
‹ 3.在请求之间自动重新载入校验文件。
  工作在开发模式下,Struts2可以输出更多的运行时的调试信息,这样有
助于跟踪调试程序。 --> 

  <constant name="struts.devMode" value="true" />

  <!-- namespace是包的逻辑地址.在此包下所有配置的action前均会加上这个逻辑地址.extends表示扩展了struts-default包,这样就可以使用struts2中的特性了(截拦器等等) -->
  <package name="default" namespace="/" extends="struts-default">
    
    <action name="RegistrationPage">
      <result>/Registration.jsp</result>
    </action>

  <!-- name="inpput"属性用来对应addFiledError()方法加入的错误信息.当截拦器在执行验证逻辑时找到错误信息时.就会返回input关键字.触发动作在执行excute()之前重定向到Registration.sjp -->

    <action name="Register" class="com.vea.Register">
      <result>/RegistrationSuccess.jsp</result>
      <result name="input">/Registration.jsp</result>
    </action>  

  </package>    
 
分享到:
评论

相关推荐

    Struts2学习笔记

    ### Struts2学习笔记知识点概览 #### 一、Struts的作用 - **核心功能**:Struts2框架的核心功能之一就是将业务逻辑与展示层分离,实现MVC(Model-View-Controller)架构模式。这有助于提高代码的可维护性、可扩展...

    struts2 学习资料

    这个"struts2 学习资料"包含了关于Struts2的基础到进阶的学习资源,可能是教程文档、示例代码或者是相关的学习笔记。 Struts2框架的核心特性包括: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,它...

    [黑马程序员Struts2 2016版视频] 前3Days笔记

    虽然笔记中没有提供源代码,但学习过程中可以通过模仿示例创建简单的Struts2应用,如用户登录注册系统,熟悉Action配置、视图展现和拦截器的使用。 总结,黑马程序员Struts2 2016版的前3Days笔记重点介绍了Struts2...

    Struts学习笔记

    ### Struts学习笔记 #### 一、Struts2框架简介 Struts2是一个开源的、用于开发Java EE Web应用程序的MVC框架。它基于Struts 1进行了改进,提供了更加强大和灵活的功能,比如拦截器、动态方法调用、类型转换等。...

    struts2从入门到精通总结(备忘)

    1. 创建一个登录注册系统,利用Struts2进行表单验证。 2. 实现文件上传下载功能,涉及文件流处理和路径管理。 3. 使用Struts2整合Hibernate进行数据库操作,体验数据的CRUD操作。 4. 创建拦截器实现用户权限控制,只...

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

    SSH整合笔记

    ### SSH整合笔记 #### 一、三大框架整合 在企业级应用开发中,Spring、Struts2 和 Hibernate 组合起来被广泛称为 SSH 框架。这些框架各自解决了不同的问题,但组合在一起可以提供一个非常强大的解决方案。下面将...

    SSH初学笔记Hibernate Spring Struts

    通过这份笔记,初学者可以系统地学习SSH框架,快速掌握Java Web开发的基本技能。由于笔记中包含"完整代码",这意味着你可以直接参考和学习实际的项目代码,这对于理解和实践SSH框架非常有帮助。

    java学习笔记

    ### Java学习笔记知识点详解 #### 一、Java基础知识概述 Java是一种广泛使用的面向对象的编程语言,具有简单性、面向对象、健壮性、安全性、平台独立性、可移植性等特点。Java的基本知识包括以下几个方面: 1. **...

    课程设计云笔记系统SSH

    在这个云笔记系统中,用户可能可以通过注册和登录来创建个人账户,然后使用各种功能来创建、编辑、删除和查找笔记。系统可能还支持文件上传、标签分类、搜索功能,以提升用户体验。同时,考虑到安全性,系统可能会...

    javaEE学习笔记

    ### Java/JavaEE 学习笔记关键知识点概览 #### 1. Unix 学习笔记 - **Unix 前言** - Unix 是一种多用户、多任务的操作系统,广泛应用于服务器领域。 - Unix 的历史和发展背景,以及其在现代IT基础设施中的重要性...

    java资源之Mybatis基础入门学习笔记

    【Mybatis基础入门学习笔记】 Mybatis是一款广泛使用的Java持久层框架,它的主要目标是简化对数据库的操作,提供更加灵活的SQL映射机制。Mybatis起源于Apache组织的ibatis框架,历经发展,在2010年迁移到Google ...

    Spring学习笔记

    Spring学习笔记详细知识点如下: ...以上总结涵盖了Spring学习笔记中的主要知识点,从基本的面向接口编程到高级的AOP和事务管理,以及与Struts2和Hibernate的整合。掌握这些知识点对于学习和使用Spring框架至关重要。

    java简单当当网书店系统

    中的"47-Spring_IOC-v(上)笔记.pdf"可能是关于Spring框架中控制反转(IOC)概念的教程或学习笔记,虽然不是直接与当当网书店系统相关,但Spring框架是Java开发中常用的一个工具,它与Struts2配合可以构建更高效、...

    sturts2课件第三天

    10. **实践案例**:通过具体的实例来实践上述知识点,例如创建一个简单的登录注册系统,涉及到Action、拦截器、结果类型和Struts2标签的使用。 在提供的压缩包文件中,"day03.txt"可能是课程笔记或讲解大纲,...

    崔希凡javaweb笔记day24-day28

    5. **综合项目实践**:在day28,可能是将前面所学的知识整合到一个实际的小型项目中,例如构建一个简单的用户注册登录系统。这个环节通常会涉及到会话管理、错误处理、文件上传下载等进阶话题,帮助学生更好地理解和...

    Springmvc第一天课堂笔记

    【Springmvc第一天课堂笔记】 Spring MVC 是 Spring 框架的一部分,它是一个基于 Model-View-Controller(MVC)设计模式的Web应用框架。在B/S系统中,MVC模式被广泛采用,其中C(Controller)是控制器,M(Model)...

    基于SSH的校内网系统的设计与实现.zip

    1. **用户管理**:系统需要提供用户注册、登录、权限管理等功能,确保用户信息安全,同时根据用户角色分配不同的操作权限。 2. **信息公告**:学校公告、活动通知等信息可以通过系统发布,支持分类管理和搜索功能,...

    基于SSM的在线学习系统源码.zip

    5. **在线学习系统特性**:基于SSM的在线学习系统通常会包含用户注册、登录、课程浏览、在线视频播放、课程笔记、讨论区、考试系统等多个功能模块。这些模块的实现会涉及到用户认证、权限控制、数据持久化、页面跳转...

Global site tag (gtag.js) - Google Analytics