Struts2学习笔记系列之环境搭建

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/fengyu_xueer/article/details/78410803

1.前言

一直在学习javaweb方面的知识,断断续续的学到了struts2,深感java框架的博大精深,自己的水平有限(菜鸡),本着好记性不如烂笔头的原则,打算把自己学到的东西写一篇博客,就当复习以及以后查询的笔记资料了。

2.环境搭建

1.创建一个web工程
2.导入需要的jar包

  • 1、打开下载下来的struts-2.3.24开发包,找到apps目录下的struts2-blank.war,解压,赋值其lib下的jar文件到自己的项目的lib下。
    PS:开发包的lib目录下有struts2的全部jar包,打开可以看到有近百个(具体没数),这无疑是比较恐怖的,根本不需要这么多,故可采用上述方法,其余的若有需要再到lib目录下拷贝即可。

3.添加dtd约束:在写struts.xml文件时,如果有xml的提示,无疑是非常方便的,这就要导入struts-2.3.dtd包,让系统自动有提示功能,步骤如下:

这里写图片描述

这里写图片描述

4.书写Action类

public class HelloAction {
    public String Hello(){
        System.out.println("Hello Action!");
        return "success";
    }
}

5.添加struts.xml文件:src目录下

<?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>
    <!-- i18n:国际化,解决post提交乱码问题 -->
    <constant name="struts.i18n.encoding" value="UTF-8"></constant>
    <!-- 指定访问action时的后缀名 -->
    <constant name="struts.action.extension" value="action"></constant>
    <!-- 指定struts2是否以开发模式运行
        1.热加载主配置.(不需要重启即可生效)
        2.提供更多错误信息输出,方便开发时的调试
    -->
    <constant name="struts.devMode" value="true"></constant>

    <!-- package:将Action配置封装.就是可以在Package中配置很多action.
        name属性: 给包起个名字,起到标识作用.名字任意.不与其他包名重复即可.
        namespace属性:给action的访问路径中定义一个命名空间
        extends属性: 继承一个 指定包,一般为固定写法:struts-default
        abstract属性:包是否为抽象的; 标识性属性.标识该包不能独立运行.专门被继承,默认为false,一般不写
        -->
    <package name="hello" namespace="/hello" extends="struts-default">
            <!-- action元素:配置action类
                    name属性: 决定了Action访问资源名.
                    class属性: action的完整类名
                    method属性: 指定调用Action中的哪个方法来处理请求
             -->
    <action name="HelloAction" class="com.qiu.structs2.action.HelloAction" method="Hello" >
    <!-- result元素:结果配置 
        name属性: 标识结果处理的名称.与action方法的返回值对应.
        type属性: 指定调用哪一个result类来处理结果,默认使用转发.
        标签体:填写页面的相对路径
    -->
    <result name="success" type="dispatcher">/hello.jsp</result>
    </action>
    </package>
</struts>

6.在web.xml中配置struts的核心过滤器

<!-- struts2核心过滤器 -->
<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>

7.至此,struts2的环境就算是搭建好了,同时也有了一个最基本的测试类HelloAction,现在就可以测试一下了。
这里写图片描述

3.配置相关

1.常量配置

  • struts2默认常量配置位置

这里写图片描述

扫描二维码关注公众号,回复: 4450699 查看本文章
  • 方式1:在src->struts.xml中配置(常用,推荐)

这里写图片描述

  • 方式2:在src下创建struts.properties

这里写图片描述

  • 方式3:在项目的web.xml中

这里写图片描述

  • 加载顺序:方式1-方式2-方式3,若后边的与前边的冲突,则会覆盖前边的。

配置进阶:动态方法调用

  • 方式1:参数配置方式

这里写图片描述

这里写图片描述

  • 方式2:通配符方式

这里写图片描述

这里写图片描述

4.Action类的书写方式

方式1

public class HelloAction {
    public String Hello(){
        System.out.println("Hello Action!");
        return "success";
    }
}

方式2

public class Hello1Action implements Action{
    public String execute() throws Exception {
        System.out.println("Hello1 Action!");
        return SUCCESS;
    }
}

方式3(推荐)

public class Hello2Action extends ActionSupport{
    public String execute() throws Exception {
        System.out.println("Hello2 Action!");
        return SUCCESS;
    }
}

5.总结

以上就是本人学习struts2的入门心得,水平有限,欢迎批评指正,谢谢!

猜你喜欢

转载自blog.csdn.net/fengyu_xueer/article/details/78410803
今日推荐