在写xml的时候又一次总是报cvc-complex-type.2.4.a: Invalid content was found starting with element 错误,还出现小红叉,在网上找了很多,有说是把报红叉的代码写在<jsp-config></jsp-config>之间,试了之后发现完全没用。
后来在外文网站上找到了一个方法就把问题解决了
在eclipse中配置xmlcatalog
1、 Location: D:\eclipse3.3\springmodules-cache.xsd (springmodules-cache.xsd在本地的路径)
Key Type: Namespace Name
Key: http://www.springmodules.org/schema/cache/springmodules-cache.xsd
2、Location: D:\eclipse3.3\springmodules-ehcache.xsd(本地路径)
Key Type: Schema Location
Key: http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd
然后再将这连个xsd加入到web.xml中就搞定了
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance http://www.springmodules.org/schema/cache/springmodules-cache.xsd http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd "> <!--OS Work Flow --> <display-name>OSWorkflow Example App</display-name> <description>OSWorkflow Example App</description> <servlet> <servlet-name>SOAPWorkflow</servlet-name> <servlet-class> com.opensymphony.workflow.soap.SOAPWorkflowServlet </servlet-class> </servlet> <servlet> <description> This is the description of my J2EE component </description> <display-name> This is the display name of my J2EE component </display-name> <servlet-name>Osworkflow</servlet-name> <servlet-class>net.caiban.servlet.Osworkflow</servlet-class> </servlet> <servlet> <description> This is the description of my J2EE component </description> <display-name> This is the display name of my J2EE component </display-name> <servlet-name>DoWorkflow</servlet-name> <servlet-class>net.caiban.servlet.DoWorkflow</servlet-class> </servlet> <servlet> <description> This is the description of my J2EE component </description> <display-name> This is the display name of my J2EE component </display-name> <servlet-name>CreateWorkflow</servlet-name> <servlet-class>net.caiban.servlet.CreateWorkflow</servlet-class> </servlet> <servlet-mapping> <servlet-name>SOAPWorkflow</servlet-name> <url-pattern>/soap/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Osworkflow</servlet-name> <url-pattern>/servlet/Osworkflow</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DoWorkflow</servlet-name> <url-pattern>/servlet/DoWorkflow</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>CreateWorkflow</servlet-name> <url-pattern>/servlet/CreateWorkflow</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>default.jsp</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <resource-ref> <res-ref-name>jdbc/oswf</res-ref-name> <res-type>javax.sql.DataSource</res-type> <init-param driverClassName="com.mysql.jdbc.Driver" /> <init-param url="jdbc:mysql://localhost:3306/osworkflow" /> <init-param user="root" /> <init-param password="123465" /> <init-param max-connections="20" /> <init-param max-idle-time="30" /> </resource-ref> <!--OS Work Flow --> </web-app>