以前使用struts2框架的时候并没有注意过创建的web.xml文件,最近在搭建struts框架的时候碰到一个问题。下面首先我把自己的环境介绍一下。
JDK1.8、Tomcat8、Myeclipse2017(Myeclipse8.5)、Maven3.5.4
问题是:在创建Maven项目后,添加了Struts的依赖,书写log4j.properties文件和struts.xml文件后,准备在web.xml中配置Struts的前端控制器的时候发现在使用<filter>标签的时候总是报错。如果不管这个问题,写好代码,运行项目后,在访问的时候会报错404.
我查阅网上的文档,按照网上的操作步奏,要么是报错的问题依旧存在,要么就是报错是不报错了,但是访问依旧404.
下面,我把修改过后的的web.xml先贴出来
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4"
xmlns="http://Java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"/>
其实仔细观察一下就可以发现,你的项目中自动生成的web.xml文件中不管是xmlns还是后面的xsi,他们最后的单词都是Javaee,我修改过后的是j2ee,有时候路径也会有一些差异,我也不知道是为什么,但是我这样修改过后上面的那些问题就没有了。不过也存在一个问题就是,你在使用filter标签的时候就需要你自己手写了,不会出现自动提示。但是这个不影响后面的使用。