java - Web 应用程序问题的 Struts2 web.xml 文件过滤器 jar

标签 java xml web-applications struts2

我目前正在尝试使用 Struts2 框架创建一个小型 Web 应用程序。 (在 eclipse 中)

我目前正在尝试使用 web.xml(在 WEB-INF 文件夹中)文件中的过滤器将控制权转移到 struts.xml 文件(在 src 文件夹中)。 (这是我在教程中看到的)。

我用于过滤器的代码如下:

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

我认为 Tomcat 没有在过滤器的 JAR 文件中找到类,因为我不断收到以下错误:

java.lang.NoClassDefFoundError: com/opensymphony/xwork2/ActionContext at org.apache.struts2.dispatcher.ng.InitOperations.cleanup(InitOperations.java:114) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:60)
...continues for quite a while.

我从 Struts 网页下载了 Jar 文件,我设置构建路径的方式如下:

我右键单击该项目并转到属性

转到 Java 构建路径部分并创建一个新库

将所有 Jar 文件添加到该库并将其分配给该 Web 应用程序的构建路径

然后我将这个 Jar 库添加到部署程序集,以便在它运行时将其部署到 WEB-INF/lib 文件夹。

据我所知这应该有效,因为它在我遵循的教程中有效!但是,它对我不起作用。

当我运行我的项目并通过我的 PC 导航到保存项目的位置时,如果我查看 WEB-INF/lib 文件夹,那里没有任何 Jar 文件,这可能是问题所在吗?还是这是正常的?

感谢您的帮助,非常感谢!

编辑

这是我正在使用的 jar 文件:

commons-fileupload-1.2.2
commons-io-2.0.1
commons-logging-1.1.1
commons-logging-api-1.1
freemarker-2.3.19
javaassist-3.11.0.GA
ognl-3.0.6
struts2-core-2.3.8
xwork-core-2.3.8
commons-lang-2.4

已解决 - 通过在全新构建上完全重新启动项目来解决! 更新 - 还通过删除所有 jar 并重新创建 jar 库并将其重新分配给构建路径/Deplyment Assembly 来修复旧构建(虽然在尝试调试时做了数百次)

然后删除旧的 Tomcat 服务器并分配一个新的。

不完全确定是什么修复了它,但目前一切正常

最佳答案

如果您打开标记 View ,应该有一个Classpath Dependency 验证者消息警告组。如果你扩大那个群体,你应该 看到一些类似的警告:

类路径条目 ???不会被导出或发布可能会导致 RuntimeClassNotFoundExceptions。

右键单击这些警告 并选择快速修复。这使您可以 标记要包含在 WEB-INF/lib 中的类路径条目

关于java - Web 应用程序问题的 Struts2 web.xml 文件过滤器 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125276/

相关文章:

php - 框架头脑 Storm

xml - 高效存储和访问大型 XML 文件

c# - 基类扩展的 Visual Studio 2010 编译器错误

java - 什么语言(Java 或 Python)+ 中型 Web 项目的框架?

java - 如何从字符串中删除此网址?

java - Google App Engine Go-Python/Java 混合应用

Python从xhtml中抓取属性值:link

jakarta-ee - Java EE Web应用程序“记住我”自动登录完成了吗?

java - 在多个项目中管理 Spring Boot 父 POM 版本

java - Maven clean install 等于 mvn clean 和 mvn install 之后?