Struts2项目创建过程笔记

来源:互联网 发布:终极算法 mobi 编辑:程序博客网 时间:2024/05/19 00:14

这里所用的Struts2版本是2.3版本。

步骤:

1.创建一个动态的web工程(strust2相关jar包加入工程中)

2.修改web.xml文件内容,添加Struts2的过滤器.

<!-- 配置 Struts2 的 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>

3.在根目录下创建Struts2的配置文件。struts.xml文件

<?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: 包. struts2 使用 package 来组织模块.
        name 属性: 必须. 用于其它的包应用当前包.
        extends: 当前包继承哪个包, 继承的, 即可以继承其中的所有的配置. 通常情况下继承 struts-default
                 struts-default 这个包在 struts-default.xml 文件中定义.
        namespace 可选, 如果它没有给出, 则以 / 为默认值.
                                若 namespace 有一个非默认值, 则要想调用这个包里的Action,
                                就必须把这个属性所定义的命名空间添加到有关的 URI 字符串里
                                
                  http://localhost:8080/contextPath/namespace/actionName.action
    -->
    <package name="helloWorld" extends="struts-default">
        
        <!--
            配置一个 action: 一个 struts2 的请求就是一个 action
            name: 对应一个 struts2 的请求的名字(或对一个 servletPath, 但去除 / 和扩展名), 不包含扩展名
            class 的默认值为: com.opensymphony.xwork2.ActionSupport
            method 的默认值为: execute
            result: 结果.
        -->
        <action name="product-input"
            class="com.opensymphony.xwork2.ActionSupport"
            method="execute">
            <!--  
                result: 结果. 表示 action 方法执行后可能返回的一个结果. 所以一个 action 节点可能会有多个 result 子节点.
                多个 result 子节点使用 name 来区分
                name: 标识一个 result. 和 action 方法的返回值对应. 默认值为 success
                type: 表示结果的类型. 默认值为 dispatcher(转发到结果.)
            -->
            <result name="success" type="dispatcher">/WEB-INF/pages/input.jsp</result>
        </action>
        
        <action name="product-save" class="com.atguigu.struts2.helloworld.Product"
            method="save">
            <result name="details">/WEB-INF/pages/details.jsp</result>    
        </action>
        
        <action name="test" class="com.atguigu.struts2.helloworld.Product" method="test">
            <result>/index.jsp</result>
        </action>
        
    </package>

</struts>


1 0
原创粉丝点击