初识 - > - > Struts2

今天初识了Struts2

1.struts2的基本概念
1)Struts2是一个web框架
2)Struts2统一了web项目的规范
3) Struts2在作用上说可以理解为Servlet的作用
4)Struts 和 Struts2 没有任何关系…..最多是个傍名牌
5)Struts2的核心是拦截器……类似过滤器

一 xml配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <!-- 设置常量值,设置页面主题为极简模式 -->
  <constant name="struts.ui.theme" value="simple"></constant>
   <!-- package元素用于配置Action包,包主要用于管理动作模型的对象
     name="Users"表示包的名称,在配置文件中是唯一的
     namespace="/"表示虚拟路径名称
     extends="struts-default" 表示继承Steuts2提供的struts-default.xml文件,此文件中配置了各种类型转换和拦截器类,用于辅助用户的数据处理

    --> 
  <package name="Users" namespace="/" extends="struts-default">
  <!-- 
        action元素用于配置动作模型
        class="com.action.UsersAction"表示动作类的包路径
        method="check" 表示要执行的方法
   -->
  <action name="check_Users" class="com.action.UsersAction" method="check">
  <!-- 
      result 元素表示结果的配置,是action的子元素
      name="执行的返回值" 
      loginok.jsp 表示 跳转路径
      type="redirect" 表示该跳转使用重定向方式跳转
      没有type属性则表示转发
   -->
    <result name="ok" type="redirect">loginok.jsp</result>
    <result name="fail" >fail.jsp</result>
  </action>


  </package>
</struts>

二 动作类声明

public class UsersAction  {
  /**
   * 这个类功能上来说和我们以前的com.Servlet一致
   * 在Struts2中本类
   * 动作模型又称为动作类
   * 命名:一般使用实体类名+Action组成,Action是不可改变的
   * 动作模型中的实体类属性
   *   由Struts2的拦截器自动设置到电影属性(自动调用的SetXXX方法赋值)
   *   表单元素中的控件名称和Action中的实体属性名称一致
   *    例 <input type="text" name="us.uname">
   *
   * */
    private Users us;//值栈,此属性默认在request范围中(相当于)

public Users getUs() {
    return us;
}

public void setUs(Users us) {
    this.us = us;
}
/**
 * 动作方法
 * 返回值类型为String,无任何参数
 * */
public String  check(){
    if(us!=null){
        if(us.getUname()!=null&&!us.getUname().trim().equals("")&&us.getPasswd()!=null&&!us.getPasswd().trim().equals("")){
            //获取session对象,ServletActionContext用于获取web的作用域,以及相关的ServletApi的类对象
             HttpSession session=ServletActionContext.getRequest().getSession();
             session.setAttribute("us", us);
             return "ok";
        }
    }
    return "fail";
}
}

三 网页提交页面

<form action="check_Users" method="post" name="from1">
  账号:<input type="text" name="us.uname"><br>
   密码:<input type="password" name="us.passwd"><br>
   <input type="submit" value="确定">
  </form> 


Struts2工作流程:

简单的项目工作流程

简单的做了一下关于配置的

总结:


Struts2配置关系说明图


猜你喜欢

转载自blog.csdn.net/luke199257/article/details/80738724
今日推荐