struts+filter = error ? (倾囊求助)
在用基本的MVC时候,我在web.xml中配置字符过滤器filter,tomcat能正常起来,一切都能正常使用.
部分代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>web.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
而我在用struts框架时候在web.xml中加入
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>web.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
tomcat启动的时候就抛出异常:
异常信息如下:
----------------------------------------------------------------------------
2004-9-21 14:11:40 org.apache.commons.digester.Digester error
严重: Parse Error at line 47 column 11: Element type "filter" must be declared.
org.xml.sax.SAXParseException: Element type "filter" must be declared.
...............................................
严重: Parse Error at line 48 column 18: Element type "filter-name" must be decla
red.
............................................................
严重: Parse Error at line 49 column 19: Element type "filter-class" must be decl
ared.
.....................................................
2004-9-21 14:11:40 org.apache.commons.digester.Digester error
严重: Parse Error at line 55 column 19: Element type "filter-mapping" must be de
clared.
...........................................
2004-9-21 14:11:40 org.apache.commons.digester.Digester error
严重: Parse Error at line 56 column 18: Element type "filter-name" must be decla
red.
......................................
2004-9-21 14:11:40 org.apache.commons.digester.Digester error
严重: Parse Error at line 60 column 11: The content of element type "web-app" mu
st match "(icon?,display-name?,description?,distributable?,context-param*,servle
t*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*
,taglib*,resource-ref*,security-constraint*,login-config?,security-role*,env-ent
ry*,ejb-ref*)".
org.xml.sax.SAXParseException: The content of element type "web-app" must match
"(icon?,display-name?,description?,distributable?,context-param*,servlet*,servle
t-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,
resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-r
ef*)".
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Un
known Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown S
ource)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(
Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
known Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1543)
at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextCo
nfig.java:282)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:63
9)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:243)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:166)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3
567)
at org.apache.catalina.startup.HostConfig.checkWebXmlLastModified(HostCo
nfig.java:614)
at org.apache.catalina.startup.HostConfig.run(HostConfig.java:854)
at java.lang.Thread.run(Thread.java:534)
---------------------------------------------------------------------
我该怎么描述filter.我如何去处理他?如果在struts中怎么解决request引起的字符乱码问题?