Struts2环境搭建

一.引入核心库

Struts2需要的核心类库:

struts2-core-2.3.16.jar:Struts2的核心库

xwork-core-2.3.16.jar:WebWork的核心库

ognl-3.0.6.jar:OGNL表达式需要的库,struts2通过ognl读写对象的属性

freemarker-2.3.19.jar:Struts2 UI标签模板

commons-logging-1.1.3.jar:日志管理

commons-fileupload-1.3.jar:文件上传下载

commons-lang3-3.1.jar

javassist-3.11.0.GA.jar

commons-io-2.2.jar

将以上jar包加入web-inf下的lib文件夹。


二.编写struts2配置文件struts.xml

struts2.xml主要负责业务逻辑控制器Action,Bean,常量,包,拦截器的配置,默认情况下Struts2会自动加载Web应用WEB-INF/classes目录下的struts.xml文件。

最简单的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>

</struts>

<struts>的子节点主要包含以下配置:

1.常量配置

例:配置web应用的默认编码集:

<constant name="struts.i18n.encoding" value="GBK" />

2.Bean配置

用于像框架注入一个组件的实例。

<bean class="实现类全名"></bean>
bean元素有以下属性:

class:指定此Bean对应的实现类。

name:指定Bean实例的名字。

type:指定Bean实现的接口

scope:指定Bean作用范围

static:指定Bean是否使用静态方法注入

optional:指定是否是一个可选的Bean。

3.Action配置

        <action name="action1" class="com.test.Action" method="test">
            <result name="success">index.jsp</result>
        </action>

该配置指定了action1的实现类是com.test.Action,由其test()方法处理。result元素指定返回的页面。

4.包含配置

<include file="example.xml"/>
通过这种方法引用其他配置文件,提高了可读性,通常情况下,被包含的文件也放在WEB-INF/classes下。

5.包配置

    <package name="default" namespace="/" extends="struts-default">

        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
        <action name="action1">
            <result name="success">index.jsp</result>
        </action>
        
    </package>

pacakge元素定义了包,包下可以包含多个action和拦截器,它具有以下属性:

1.name:指定包名

2.extends:指定需要继承的包,通过继承可以使用在其他包中定义的action,拦截器等。

3.namespace:定义该包的命名空间,定义的命名空间会作为action访问路径的一部分

4.abstract:是否是抽象包,如果是一个抽象包,则不能在其中定义action。

三.配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app>

    <display-name>Struts Blank</display-name>

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

</web-app>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值