• 【跟我一步一步学Struts2】——登陆样例


     

            本篇博客通过一个简单的登陆小样例来入门,简单了解一下struts2是怎样工作的:

            第一步引入Jar包:

    commons-fileupload-1.2.1.jar,文件上传

    commons-logging-1.0.4.jar,日志包

    freemarker-2.3.15.jar,struts2UI标签的模板使用freemarker编写

    ognl-2.7.3.jar对象图导航语言,通过它来读写对象属性

    struts2-core-2.1.8.1.jar。开发的核心类库

    xwork-core-2.1.6.jar,xwork类库,struts2在其上进行构建

     

            大部分时候,使用struts2Web应用不须要利用struts2的所有特性,所以没有必要将所有的jar文件都拷贝到lib目录下。

     

     

     

             第二步:配置web.xml配置文件里,配置StrutsPrepareAndExecuteFilterFilterStruts2的核心。负责初始化整个Struts框架而且处理全部的请求。

    <filter>
             <filter-name>struts2</filter-name>
             <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
     </filter>
     
     <filter-mapping>
             <filter-name>struts2</filter-name>
             <url-pattern>/*</url-pattern>
     </filter-mapping>


             第三步。建立JSP页面(index.jsp,login.jsp,login_error.jsp,login_success.jsp

                    Index.jsp

    <a  href="login.jsp">登录</a>

                     login.jsp

    <formaction="login.action">
    用户:<inputtype="text" name="username"/><br/>
    密码:<inputtype="password" name="password"/><br>
    <input type="submit" value="登录"/>
    </form>


     

          第四步,创建Action,并通过getter,setter方法获取数据。也就是说Struts2是通过Action获取数据的。

    public classLoginAction {
     
    //拿到表单上的数据
    privateString username;
     
       private        String password;
       
    publicString getUsername() {
    returnusername;
    }
     
    publicvoid setUsername(String username) {
    this.username= username;
    }
     
    publicString getPassword() {
    returnpassword;
    }
     
    publicvoid setPassword(String password) {
    this.password= password;
    }
     
    publicString execute() throws Exception{
     
    if("admin".equals(username)&& "admin".equals(password)){
    return"success";
    }else{
    return"error";
    }
     
    }

          能够实现Action接口,也能够不实现Action接口,主要是为了保证execute的正确定义,为了防止类似execute方法书写错误,Action接口里面定义了好几种字符串。防止字符串写错。Action接口代码例如以下:

    public interface Action{ 
     
        //定义Action接口里包括的一些结果字符串 
        public static final String ERROR ="error"; 
        public static final String INPUT ="input"; 
        public static final String LOGIN ="login"; 
        public static final String NONE ="none"; 
        public static final String SUCCESS ="success"; 
         
        //定义处理用户请求的execute()方法 
        public String execute() throwsException; 
    } 
     

           第五步。配置struts.xml文件。这个文件是框架的核心文件,在这个默认的配置文件中,我们依据须要能够再包含其它的配置文件。

    <struts>
    <!--须要继承struts-default包,这样就拥有了最主要的功能 -->
    <packagename="struts2" extends="struts-default">
    <actionname="login"class="com.bjpowernode.struts2.LoginAction">
    <resultname="success">/login_success.jsp</result>
    <resultname="error">/login_error.jsp</result>
    </action>
    </package>
    </struts>

    启动tomact,在浏览器中訪问就可以。

    效果:

            输入网址,首页登陆:


           跳转到登陆页,该页包括一个表单。用户输username和password,点击登陆,跳转到指定的Action里进行处理。username和password正确则跳转到成功页,否则跳转到登陆失败页:


             跳转到登陆成功页:


               Struts2的运行流程:

    client在浏览器中输入一个url地址

    通过url请求通过http协议发送给tomcat

    tomcat依据url找到相应项目里面的web.xml文件

    web.xml里面会发现有sruts2的配置,依据配置找到struts.xml配置文件

    依据url解析struts.xml配置文件找到对应的类

    调用完class返回String。依据Struts2.xml配置返回到相应的jsp页面

     


    总结:

           通过这个样例也了解到struts2把数据放在Action里面,是通过xml文件的配置去调用。想要调用哪个类,哪个jsp就去配置就可以。

           通过这个小样例先简单了解struts2的运行流程以及是如何调用的,再继续深入学习。

     

     


  • 相关阅读:
    MongoDB学习笔记一—简介
    css之定位
    Docker私有仓库1
    Docker安装目录
    Docker 安装完启动服务报错
    Ambari安装组件出错
    Rancher安装使用
    Kettle中spoon.sh在使用时报错
    Kettle jdbc连接hive出现问题
    kettle在linux启动spoon.sh报错
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7137098.html
Copyright © 2020-2023  润新知