美文网首页
[Struts2]3-一个小项目

[Struts2]3-一个小项目

作者: 我相信你爱过gg | 来源:发表于2017-02-09 18:11 被阅读45次

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

    创建一个 login.jsp页面

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>用户登陆</title>
    </head>
    <body>
    <form action="/loginAction" method="post">
        用户名:<input type="text" name="user.name"/><br/>
        密码:<input type="text" name="user.pwd"/><br/>
        <input type="submit" value="登录">
    </form>
    </body>
    </html>
    

    创建用户类

    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文件

    <?xml version="1.0" encoding="UTF-8"?>
    
            <!DOCTYPE struts PUBLIC
                    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
                    "http://struts.apache.org/dtds/struts-2.5.dtd">
    
    <struts>
            <package name="user" extends="struts-default" namespace="/">
                    <action name="loginAction" class="cc.xxxxx.service.Login">
                            <result name="ok">/index.jsp</result>
                            <result name="err">/login.jsp</result>
                    </action>
            </package>
    </struts>
    

    或许你有几个问题

    问:为什么需要创建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-一个小项目

          本文链接:https://www.haomeiwen.com/subject/ulcwittx.html