美文网首页java
Struts2框架学习笔记

Struts2框架学习笔记

作者: dravenxiaokai | 来源:发表于2018-04-01 01:02 被阅读0次

    搭建struts2开发环境
    官网下载struts2
    当前使用版本 struts-2.3.34-all.zip
    解压得到struts-2.3.34文件夹,进入apps可以查看例子
    解压struts2-blank.war
    struts-2.3.34\apps\struts2-blank\WEB-INF\lib目录下可以找到基本的使用jar包,拷贝到所创建工程中

    struts2-core-2.3.34.jar
    xwork-core-2.3.34.jar
    ognl-3.0.21.jar
    freemarker-2.3.22.jar
    commons-fileupload-1.3.2.jar
    commons-logging-1.1.3.jar
    

    在src下编写struts.xml配置文件
    可以在struts-2.3.34\apps\struts2-blank\WEB-INF\classes下找到参考写法

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
    </struts>
    

    在web.xml文件中加入Struts2 MVC框架启动配置
    在struts1.x中,struts框架是通过servlet启动的
    在struts2中,struts框架是通过filter启动的

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

    启动项目报错:

    Dispatcher initialization failed
    java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    
    Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
        at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:169)
        ... 34 more
    Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
    

    继续添加jar

    javassist-3.11.0.GA.jar
    commons-io-2.2.jar
    commons-lang3-3.2.jar
    

    当package继承了struts-default,才能使用struts2的核心功能
    第一个struts2应用

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
    <package name="itcast" namespace="/test" extends="struts-default">
    </package>
    <package name="it" extends="struts-default">
        <action name="helloworld" class="ren.draven.action.HelloWorldAction" method="execute">
            <result name="success">/WEB-INF/page/hello.jsp</result>
        </action>
    </package>
    </struts>
    
    struts2处理流程

    相关文章

      网友评论

        本文标题:Struts2框架学习笔记

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