现在用的是jbuilder2005,使用jbuilder编辑web.xml插入下面这段代码的时候,jbuilder用红色波浪线标记错误,说filter要先声明。
我没有管它,直接使用jbuilder允许tomcat调试,调试的时候这段代码就给自动删除了。
什么原因,怎么解决,请高手赐教。<filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>ef.org.view.SetCharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>GB2312</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

解决方案 »

  1.   

    在web.xml中,根据
    <?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">
    的定义,节点是有一定的顺序的。如果是用IDE工具,那么你打"<"以后,后边允许的,属性就会自动列出来。如果列出来,则证明位置正确。否则放到其他地方试!
      

  2.   

    filter 要放在servlet 前面
      

  3.   

    没有用,我试过在web.xml 的各个地方键入 "<" 永远都不会弹出 <filter>放在servlet 前面也没有用。jbuilder用红色波浪线标记错误,好像说filter还需要说明,是什么意思啊?该怎么办啊?
      

  4.   

    越来越怪了。
    根据兄台(zeq258(近朱者赤)的指导,我发现我的web.xml定义是
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/dtd/web-app_2_2.dtd">
    于是我就按兄台的办法将其改为2.3,果真在〈servlet 之前我键入 〈 就弹出了 〈filter但是当我把所有的配置好以后,并且保存了web.xml文件,使用tomcat(tomcat5.0.27)调试,web.xml又变回了2.2,而且我刚加入的<filter也自动删除了。试了多次都这样,为什么啊?是否在jbuilder里有些什么设置?????请赐教