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