web.xml里加上filter就不显示的问题的解决方法

在最后解决完之后,发现这个是新手问题了,呵呵。

问题描述:我看完了struts的新手教学,觉得可以自己写了,于是自己写写。发现在web.xml中加入

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

这一段就会出错,404找不到文件。但是去了这个filter就可以找到了,网上查了查,也没仔细查,有个帖子是说把可以运行的lib里的jar文件(struts)的放到你建的lib文件夹下,这样就可以了。

    我昨天试了下,没成功,今天试了下就成功了。后来自己测试发现了真正的原因。

    我自己写的时候去挑jar文件,我是直接找到复制的,复制了几个有用的,struts-core-x.x.x.jar,xwork-core-x.x.jar,logging什么的,最后没运行起来,其实是少了个文件 javassist-x.x.x.jar没有拷进去。

    Javassist dependency was excluded in OGNL, you must remember to include it, except when you are lunching an application on JBoss server

    这个文件呢,现在也不好去研究,应该是深入了的吧。

    后来发现在struts开发文档里,就有一个是Add Struts 2 Jar Files To Class Path,里面告诉所有的包含文件。

  Find and copy to WEB-INF\lib these files (note X.X.X.X.jar refers to the version number):

    1.   commons-fileupload-X.X.X.jar
    2.   commons-io-X.X.X.jar
    3.   commons-lang-X.X.jar
    4.   commons-logging-X.X.X.jar
    5.   commons-logging-api.X.X.jar
    6.   freemarker-X.X.X.jar
    7.   ognl-X.X.X.jar
    8.   struts2-core-X.X.X.X.jar
    9.   xwork-core-X.X.X.jar
    10.   javassist-X.X.X.jar

有时候返回来看,发现有很多细节的地方可能没注意,导致后面出现错误。

在cnblogs里,貌似没有这个问题的描述,我来补充下吧,毕竟这个问题平时也不怎么会遇到。

补充:如果commons-fileupload-1.2.2.jar这个文件也没有的话,也是不显示的。

原文地址:https://www.cnblogs.com/xioyaozi/p/2311820.html