日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

struts2中各版本jar包需求及配置设置

發布時間:2023/12/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts2中各版本jar包需求及配置设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

struts2中各版本jar包需求及配置設置


[原文:http://wangxinghaoaccp.blog.163.com/blog/static/11581023620113213161958/]

1、核對lib包?

commons-fileupload-1.#.#.jar,?
commons-io-1.#.#.jar?
commons-logging-1.#.#.jar?
freemarker-2.#.#.jar?
ognl-3.#.jar?
struts2-core-2.#.#.jar?
xwork-core-2.#.#.jar?

注意2.1以前是沒有commons-fileupload-1.2.1.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>?


3、?

在使用大于struts-2.2.1的版本時,需要引入javassist-3.#.GA.jar!否則,會出現如下的Dispatcher initialization failed錯誤:

嚴重: Dispatcher initialization failed
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
?at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295)
?at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431)
?at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
?at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
?at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93)
?at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487)
?at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484)
?at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574)
?at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484)
?at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252)
?at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)
?at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
?at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
?at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
?at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
?at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
?at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
?at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
?at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
?at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
?at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
?at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
?at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
?at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
?at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
?at org.apache.catalina.core.StandardService.start(StandardService.java:516)
?at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
?at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
?at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
?at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
?at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
?at java.lang.reflect.Method.invoke(Method.java:597)
?at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
?at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.reflect.InvocationTargetException


4. struts.xml配置文件
?在struts1.x中的配置文件一般叫struts-config.xml(當然也可以是其他的文件名),而且一般放到WEB-INF目錄中。而在struts2.x中的配置文件一般為struts.xml,放到WEB-INF的classes目錄中(可以在工程的src下創建,build后會自動copy到classes下)。


????struts.xml配置文件中,package里元素必須按照一定的順序排列。這個順序就是
result-types
interceptors
default-interceptor-ref
default-action-ref
default-class-ref
global-results
global-exception-mappings
action*(就是所有的action放到最后)


否則,會出現錯誤,提示是:

“The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)". ”


5. struts2 的taglib

在Struts2中已經將Struts1.x的好幾個標簽庫都統一了,在Struts2中只有一個標簽庫"/struts-tags"。這里面包含了所有的Struts2標簽。

總結

以上是生活随笔為你收集整理的struts2中各版本jar包需求及配置设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。