Struts2的配置,以及遇到的问题

一、Struts2简介
Struts2是一个基于MVC的轻量级应用框架,由Apache开发且开源。我们可以从struts.apache.org网站上下载Struts2。
轻量级:轻便,小巧,宜用。EJB是一个重量级的框架。
框架:是一个半成品,提供了一些通用的模块,帮助我们更快地去开发应用程序。
Struts2与Struts1的区别:
Struts2是在Struts1的基础上,但是更多地引入了WebWork框架的思想。
Struts2相比Struts1多了以下内容:
(1)、Interceptor拦截器
(2)、配置文件不同,Struts2的配置文件为struts.xml。Struts1的配置文件为struts-config.xml。
(3)、引入namespace和package的概念
(4)、对标签进行了大范围的更改,比Struts1的标签易用,方便
(5)、国际化的解决方法也有所不同。
(6)在Struts2中的action与Servlet API的耦合降低了。
(7)增加了数据校验框架和自动类型转换等功能
(8)视图的映射不同。
二、搭建Struts2开发环境
(1)认识struts2的发布包目录结构
apps:Struts2提供了一些应用程序示例,我们通过这些示例,可以学习和认识Struts2。struts-blank.war是一个空白struts2开发环境。
lib:放置Struts2的API,即JAR文件; 
src:放置Struts2的源代码;
docs:一些帮助文档和API文件。


(2)使用Eclipse搭建struts2开发环境的步骤
第一步:创建一个Dynamic Web Project
第二步:把struts2的JAR文件复制到项目的WEB-INF/lib目录下
commons-fileupload.x.jar
commons-io.x.jar
ognl.x.jar
freemarker.x.jar
x-work-core.x.jar
struts2-core.x.jar

javassist.x.jar(可以到Hibernate的发布包中找到)

commons-lang3-3.1.jar

第三步:修改web.xml文件,配置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>
第四步:在项目的src目录下新建一个struts2的配置文件struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>


</struts>


至此,Struts2的开发环境搭建完毕。

当遇到问题:

严重:Dispatcher initialization filed java.lang.RuntimeException:java.lang.reflect.Invocation时,

解决方法:

1、核对WEB-INF目录下的lib包,是否包含Struts2的8个核心jar包

 文件名                     说   明
struts2-core-2.3.4.1.jar      Struts 2框架的核心类库
Xwork-core-2.3.4.1.jar        XWork类库,Struts 2的构建基础
Ognl-3.0.5.jar                Struts 2使用的一种表达式语言类库
freemarker-2.3.19.jar         Struts 2的标签模板使用类库
commons-fileupload-1.2.2.jar    Struts 2文件上传依赖包
javassist-3.11.0.GA.jar       代码生成工具包
commons-lang3-3.1.jar         Apache语言包,是java.lang包的扩展
commons-io-2.0.1.jar          Apache IO包
注意2.1以前是没有commons-fileupload-1.2.1.jar, strut2的8个核心jar包是使用strut2必须导入的最少jar包

2、如果struts2版本是2.1以前 

web.xml配置过滤器的时候应该是这样:
 

<web-app>
 
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>


如果struts2 版本是2.1以上
 

web.xml配置
 

<web-app>
 
<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
发出的红包

打赏作者

互联网极客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值