zoukankan      html  css  js  c++  java
  • struts2的使用知识点

    最开始学习java的时候学习过struts,但是对配置和struts的理解深度不够,现在工作虽然再用,但是自己搭建环境和使用心得始终很零散,所以现在决定重新理一遍,有条理的学习一下struts。

    至于struts就不说了,说说使用吧!

    一、环境的搭建

    1.使用一个框架,肯定是搭建环境,struts的jar包如下:

    commons-fileupload-1.2.2.jar   【文件上传相关包】

    commons-io-2.0.1.jar

    struts2-core-2.3.4.1.jar           【struts2核心功能包】

    xwork-core-2.3.4.1.jar           【Xwork核心包】

    ognl-3.0.5.jar                                        【Ognl表达式功能支持表】

    commons-lang3-3.1.jar          【struts对java.lang包的扩展】

    freemarker-2.3.19.jar            【struts的标签模板库jar文件】

    javassist-3.11.0.GA.jar           【struts对字节码的处理相关jar】

    2.引入jar包之后,进行web.xml的配置

    引入核心过滤器,

    <!-- 引入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>

    3.开发action,写一个action

    1 public class HelloAction extends ActionSupport{
    2     public String execute() throws Exception{
    3       //具体的代码就写在这里
    4      return string;//string 的作用就是再接下来的struts中找到对应的转向页面,在这里写success或者SUCCESS;
    5 } 6 }

    4.在struts.xml中配置action

    <struts>
        <package name="xxxx" extends="struts-default">
            <action name="hello" class="cn.itcast.action.HelloAction" method="execute">
                <result name="success">/success.jsp</result>
            </action>
        </package> 
    </struts>

    这就是struts的拦截器,和过滤器差不多,说道拦截器,就是struts了。过滤器是servlet的概念。

    由上面的简单几步,就可以通过hello.action访问,success.jsp页面了

     二、实现action的3中方法

    1.继承ActionSupport,开发中用这种方法

    public class UserAction2 extends ActionSupport {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
    
        // Action中业务处理方法
        public String login() {
            System.out.println("UserAction.login()");
    //        return "success";
            return SUCCESS;
        }
    }

    2.实现Action

    public class UserAction3 implements Action {
    
        // Action中业务处理方法
        public String login() {
            System.out.println("UserAction.login()");
            return "success";
        }
    
        public String execute() throws Exception {
            return null;
        }
    }

    3.直接写

    public class UserAction {
        
        private String userName;
        public void setUserName(String userName) {
            this.userName = userName;
        }
        
    
        // Action中业务处理方法
        public String login() {
            System.out.println("我草泥马" + userName);
            return "login";
        }
        
        public String register() {
            System.out.println("怎么回呢" + userName);
            return "register";
        }
    }

    三、通配符

    *和{}

    四、struts中路径匹配原则

    localhost:8080/struts02/(名称空间)/(action的名字(name).action)

    http://localhost:8080/struts02/user/a/b/user_login.action

    Tomcat

      Localhost   找到访问那一台机器

      8080  找到tomcat

      Struts02 找到羡慕名称

      /user/a/b   先看看这个名称空间,没找到,继续向下;找到就返回

      /user/a    先看看有没有这个名称空间 ,没找到,继续向下;找到就返回

      /user 先看有没有这个名称空间,没找到,继续向下;找到就返回

      /      默认名称空间,还没找到,报错                     找到就返回

    五、struts的常量

    不积跬步,无以至千里,不积小流,无以成江海! 实践则生,空谈则死!
  • 相关阅读:
    弹性计算双周刊 第24期
    【阿里云新品发布·周刊】第8期:数字化风暴已经来临!云+区块链,如何颠覆未来科技?
    洞见数据库前沿 阿里云数据库最强阵容 DTCC 2019 八大亮点抢先看
    开发者招聘节 | 2019阿里巴巴技术面试题分享(陆续放出)
    bzoj1856: [Scoi2010]字符串
    bzoj1257: [CQOI2007]余数之和sum
    bzoj1088: [SCOI2005]扫雷Mine
    noip2015 运输计划
    noip2015 子串
    noip2015 斗地主
  • 原文地址:https://www.cnblogs.com/renboqie/p/5171394.html
Copyright © 2011-2022 走看看