Struts2介绍以及配置

1. 基本概念

struts2是一个非常优秀的MVC开源框架,由传统的struts1和webwork两个经典的框架合并而来,核心就是webwork,采用拦截器的机制来处理用户请求,它虽然是struts1的升级版,但是相对于struts1改动很大。

1.1 核心特点

… 允许POJO对象作为action;
… 支持更多视图技术(JSP、freemarker等);
… 与servlet解耦,完全脱离servlet-api,如request,sessison等;
… 基于spring AOP思想的拦截器机制,更容易拓展;
… 文件上传下载;
… ognl表达式应用;
… 支持EL表达式;

1.2 下载安装地址:http://mirrors.shu.edu.cn/apache/struts/2.5.16/
在这里插入图片描述
apps :基于struts2的示例应用
docs :struts2相关文档,API等
lib :struts2核心类库以及第三方插件类库
src :struts2的源码
tips:开发时没必要使用全部jar包。

2.配置
2.1 新建maven项目(war包),导入struts2依赖

  <dependency>
  	<groupId>org.apache.struts</groupId>
  	<artifactId>struts2-core</artifactId>
  	<version>2.5.20</version>
  </dependency>

导入之后会看到:
在这里插入图片描述
struts2-core-xxx.jar: truts2的核心包
Log4j-api-xxx.jar: 用来支持log4j
freemarker-xxx.jar: 模板引擎,一个基于模板生成文本输出的通用工具
ognl-xxx.jar: 对象导航语言,struts2通过它来获取和设置对象属性
commons-fileupload-xxx.jar :文件上传组件,2.1.6版本后需要加入
commons-io-xxx.jar :IO包,传文件依赖的包
commons-lang3-xxx.jar :java.lang包的增强包
javassist-xxx.jar :是一个开源的分析、编辑和创建java字节码的类库

2.2 编写Action类

Action就是处理用户请求的动作类,类似于javaweb中的servlet。

public class TestAction {
    public String testMethod(){
        System.out.println("test!");
        return null;
    }
}

tips:类名后缀尽量采用Action,可读性强。
tips:方法修饰符使用public,因为需要外部访问。
tips:方法返回值是String类型。

2.3 配置Action

Action需要配置两个xml文件,一个是struts.xml,一个是web.xml,struts.xml用来配置Action,web.xml用来配置过滤器。

配置web.xml

<!-- Filters -->
<!-- START SNIPPET: filter -->
<filter>
    <filter-name>action2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- END SNIPPET: filter -->
<filter-mapping>
    <filter-name>action2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

配置struts.xml

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	 <package name="package1" extends="struts-default">
    	<action name="test" class="com.xhh.action.TestAction" method="testMethod"></action>
	</package>
</struts>

然后就可以测试来访问action:http://localhost:8080/struts25/test

3.struts2的运行流程
在这里插入图片描述

  1. 启动服务器的时候,加载web.xml,读取到我们的和标签。
  2. 实例化StrutsPrepareAndExecuteFilter过滤器,执行init方法,加载struts.xml文件。
  3. 浏览器发送访问请求"http://localhost:8080/struts25/test"。
  4. StrutsPrepareAndExecuteFilter拦截到该请求,并且分析得到action的名字"test"。
  5. 在sturts.xml文件中找到名叫"test"的,并获取到同级信息:
    class=“com.xhh.Action.TestAction”
    method=“testMethod”
  6. 调用com.joe.Action.TestAction中的testMethod方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值