[Struts2]3-一个小项目

我们使用一个小项目来更好的理解一下struts.xml配置文件中的一些元素

创建一个 login.jsp页面

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


    用户登陆


用户名:
密码:

创建用户类

public class User {
    private String name;
    private String pwd;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
}

创建一个Login类 此类主要用于处理用户登录

public class Login extends ActionSupport {

    private User user = new User();

    @Override
    public String execute() throws Exception {
        if ("user1".equals(user.getName()) && "pwd1".equals(user.getPwd())){
            return "ok";
        }
        return "err";
    }

    public User getUser() {
        return user;
    }

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

配置struts.xml文件



        


        
                
                        /index.jsp
                        /login.jsp
                
        

或许你有几个问题

问:为什么需要创建Login类并继承ActionSupport类?
答:Login类用于对用户的请求做处理。

问:在Struts2中,提供了多种实现Action的方式。
答:三种。
第一种:实现Action 接口。
第二种:继承ActionSupport 类。
第三种:不是实现也不继承。
注意:上述三种方式都必须重写或存在execute()方法。
在Action中所有用于处理请求的方法都必须返回字串符类型。

问:stuts.xml文件配置的元素以及属性
答:package 元素用于定义Struts2处理请求的逻辑单元,name属性为必须并且唯一,用来指定包名称。
extends 属性类似于Java中的extends关键字,用于指定要扩展的包。
namespace 属性为你action的包名。这里不是类的包名,这里类似于一个请求路径。

action 元素用于配置Struts2框架的"工作单元" Action类。action元素将一个请求的URL对应到一个Action类。name属性是必须的,表示action的名字;class属性是可选的,用于设定Action类的全限定名。

result 元素用来设定Action类处理结束后,系统下一步将要做什么。name属性表示result的逻辑视图名称,必须与Action类返回的字符串进行匹配;而result元素的值表示与逻辑视图名称对应的物理资源之间的映射,用来指定这个结果对应的实际资源的位置。

你可能感兴趣的:([Struts2]3-一个小项目)