Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 28295 invoked from network); 2 Jun 2003 08:59:52 -0000 Received: from exchange.sun.com (192.18.33.10) by daedalus.apache.org with SMTP; 2 Jun 2003 08:59:52 -0000 Received: (qmail 12323 invoked by uid 97); 2 Jun 2003 09:02:16 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@nagoya.betaversion.org Received: (qmail 12316 invoked from network); 2 Jun 2003 09:02:15 -0000 Received: from daedalus.apache.org (HELO apache.org) (208.185.179.12) by nagoya.betaversion.org with SMTP; 2 Jun 2003 09:02:15 -0000 Received: (qmail 22573 invoked by uid 500); 2 Jun 2003 08:58:03 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 17023 invoked from network); 29 May 2003 11:45:17 -0000 Message-ID: <001501c325d7$669038f0$82c47bca@dcpholdings.com> From: "Finlay.Li" To: Cc: Subject: web.xml Parse Error Date: Thu, 29 May 2003 19:42:36 +0800 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0011_01C3261A.749C9590" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N ------=_NextPart_000_0011_01C3261A.749C9590 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0012_01C3261A.749C9590" ------=_NextPart_001_0012_01C3261A.749C9590 Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: quoted-printable Hello, I got a web.xml parse error aftering adding this to web.xml: Set Character Encoding caps.SetCharacterEncodingFilter = encodingBig5 Set Character Encoding /* Tried to changed to this (found in TOMCAT_HOME/conf/web.xml) but still = not work out: Is it a bug? Attached pls find all the xml of my application. Thanks, Finlay Li ------=_NextPart_001_0012_01C3261A.749C9590 Content-Type: text/html; charset="big5" Content-Transfer-Encoding: quoted-printable
Hello,
 
I got a web.xml parse error = aftering adding=20 this to web.xml:
  = <filter>
   =20 <filter-name>Set Character=20 Encoding</filter-name>
   =20 <filter-class>caps.SetCharacterEncodingFilter</filter-class><= BR>   =20 <init-param><param-name>encoding</param-name><param-= value>Big5</param-value></init-param>
 =20 </filter>
 
  = <filter-mapping>
   =20 <filter-name>Set Character=20 Encoding</filter-name>
   =20 <url-pattern>/*</url-pattern>
 =20 </filter-mapping>
Tried to changed to this (found = in=20 TOMCAT_HOME/conf/web.xml) but still not work out:
<!DOCTYPE = web-app
    PUBLIC=20 "-//Sun Microsystems, Inc.//DTD Web Application = 2.3//EN"
   =20 "http://java.sun.com/dtd/= web-app_2_3.dtd">
 
Is it a bug? Attached pls find = all the xml=20 of my application.
 
Thanks,
Finlay Li
 
 
------=_NextPart_001_0012_01C3261A.749C9590-- ------=_NextPart_000_0011_01C3261A.749C9590 Content-Type: text/xml; name="struts-config.xml" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="struts-config.xml" ------=_NextPart_000_0011_01C3261A.749C9590 Content-Type: text/xml; name="tiles-defs.xml" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="tiles-defs.xml" ------=_NextPart_000_0011_01C3261A.749C9590 Content-Type: text/xml; name="validation.xml" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="validation.xml" ------=_NextPart_000_0011_01C3261A.749C9590 Content-Type: text/xml; name="validator-rules.xml" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="validator-rules.xml" =3D 0) { value =3D field.options[si].value; } } else { value =3D field.value; } =20 if (value =3D=3D '') { =20 if (i =3D=3D 0) { focusField =3D field; } fields[i++] =3D oRequired[x][1]; bValid =3D false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; }]]> 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; }]]> iMax) = { if (i =3D=3D 0) { focusField =3D form[oMaxLength[x][0]]; } fields[i++] =3D oMaxLength[x][1]; bValid =3D false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; }]]> 0)) { if (!matchPattern(form[oMasked[x][0]].value, = oMasked[x][2]("mask"))) { if (i =3D=3D 0) { focusField =3D form[oMasked[x][0]]; } fields[i++] =3D oMasked[x][1]; bValid =3D false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; } function matchPattern(value, mask) { var bMatched =3D mask.exec(value); if (!bMatched) { return false; } return true; }]]> =3D 0) { value =3D field.options[si].value; } } else { value =3D field.value; } =20 if (value.length > 0) { var iValue =3D parseInt(value); if (isNaN(iValue) || !(iValue >=3D -128 && = iValue <=3D 127)) { if (i =3D=3D 0) { focusField =3D field; } fields[i++] =3D oByte[x][1]; bValid =3D false; } } =09 } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; }]]> =3D 0) { value =3D field.options[si].value; } } else { value =3D field.value; } =20 if (value.length > 0) { =20 var iValue =3D parseInt(value); if (isNaN(iValue) || !(iValue >=3D -32768 && = iValue <=3D 32767)) { if (i =3D=3D 0) { focusField =3D field; } fields[i++] =3D oShort[x][1]; bValid =3D false; } } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; }]]> =3D 0) { value =3D field.options[si].value; } } else { value =3D field.value; } =20 if (value.length > 0) { =20 if (!isAllDigits(value)) { bValid =3D false; } else { var iValue =3D parseInt(value); if (isNaN(iValue) || !(iValue >=3D = -2147483648 && iValue <=3D 2147483647)) { if (i =3D=3D 0) { focusField =3D field; } fields[i++] =3D oInteger[x][1]; bValid =3D false; } } } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; } function isAllDigits(argvalue) { argvalue =3D argvalue.toString(); var validChars =3D "0123456789"; var startFrom =3D 0; if (argvalue.substring(0, 2) =3D=3D "0x") { validChars =3D "0123456789abcdefABCDEF"; startFrom =3D 2; } else if (argvalue.charAt(0) =3D=3D "0") { validChars =3D "01234567"; startFrom =3D 1; } for (var n =3D 0; n < argvalue.length; n++) { if (validChars.indexOf(argvalue.substring(n, n+1)) = =3D=3D -1) return false; } return true; }]]> =3D 0) { value =3D field.options[si].value; } } else { value =3D field.value; } =20 if (value.length > 0) { =20 var iValue =3D parseFloat(value); if (isNaN(iValue)) { if (i =3D=3D 0) { focusField =3D field; } fields[i++] =3D oFloat[x][1]; bValid =3D false; } } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; }]]> 0) && (datePattern.length > 0)) { var MONTH =3D "MM"; var DAY =3D "dd"; var YEAR =3D "yyyy"; var orderMonth =3D datePattern.indexOf(MONTH); var orderDay =3D datePattern.indexOf(DAY); var orderYear =3D datePattern.indexOf(YEAR); if ((orderDay < orderYear && orderDay > = orderMonth)) { var iDelim1 =3D orderMonth + MONTH.length; var iDelim2 =3D orderDay + DAY.length; var delim1 =3D datePattern.substring(iDelim1, = iDelim1 + 1); var delim2 =3D datePattern.substring(iDelim2, = iDelim2 + 1); if (iDelim1 =3D=3D orderDay && iDelim2 =3D=3D = orderYear) { dateRegexp =3D new = RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); } else if (iDelim1 =3D=3D orderDay) { dateRegexp =3D new = RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); } else if (iDelim2 =3D=3D orderYear) { dateRegexp =3D new RegExp("^(\\d{2})[" + = delim1 + "](\\d{2})(\\d{4})$"); } else { dateRegexp =3D new RegExp("^(\\d{2})[" + = delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); } var matched =3D dateRegexp.exec(value); if(matched !=3D null) { if (!isValidDate(matched[2], matched[1], = matched[3])) { if (i =3D=3D 0) { focusField =3D form[oDate[x][0]]; } fields[i++] =3D oDate[x][1]; bValid =3D false; } } else { if (i =3D=3D 0) { focusField =3D form[oDate[x][0]]; } fields[i++] =3D oDate[x][1]; bValid =3D false; } } else if ((orderMonth < orderYear && orderMonth > = orderDay)) { var iDelim1 =3D orderDay + DAY.length; var iDelim2 =3D orderMonth + MONTH.length; var delim1 =3D datePattern.substring(iDelim1, = iDelim1 + 1); var delim2 =3D datePattern.substring(iDelim2, = iDelim2 + 1); if (iDelim1 =3D=3D orderMonth && iDelim2 =3D=3D = orderYear) { dateRegexp =3D new = RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); } else if (iDelim1 =3D=3D orderMonth) { dateRegexp =3D new = RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); } else if (iDelim2 =3D=3D orderYear) { dateRegexp =3D new RegExp("^(\\d{2})[" + = delim1 + "](\\d{2})(\\d{4})$"); } else { dateRegexp =3D new RegExp("^(\\d{2})[" + = delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); } var matched =3D dateRegexp.exec(value); if(matched !=3D null) { if (!isValidDate(matched[1], matched[2], = matched[3])) { if (i =3D=3D 0) { focusField =3D form[oDate[x][0]]; } fields[i++] =3D oDate[x][1]; bValid =3D false; } } else { if (i =3D=3D 0) { focusField =3D form[oDate[x][0]]; } fields[i++] =3D oDate[x][1]; bValid =3D false; } } else if ((orderMonth > orderYear && orderMonth < = orderDay)) { var iDelim1 =3D orderYear + YEAR.length; var iDelim2 =3D orderMonth + MONTH.length; var delim1 =3D datePattern.substring(iDelim1, = iDelim1 + 1); var delim2 =3D datePattern.substring(iDelim2, = iDelim2 + 1); if (iDelim1 =3D=3D orderMonth && iDelim2 =3D=3D = orderDay) { dateRegexp =3D new = RegExp("^(\\d{4})(\\d{2})(\\d{2})$"); } else if (iDelim1 =3D=3D orderMonth) { dateRegexp =3D new = RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$"); } else if (iDelim2 =3D=3D orderDay) { dateRegexp =3D new RegExp("^(\\d{4})[" + = delim1 + "](\\d{2})(\\d{2})$"); } else { dateRegexp =3D new RegExp("^(\\d{4})[" + = delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$"); } var matched =3D dateRegexp.exec(value); if(matched !=3D null) { if (!isValidDate(matched[3], matched[2], = matched[1])) { if (i =3D=3D 0) { focusField =3D form[oDate[x][0]]; } fields[i++] =3D oDate[x][1]; bValid =3D false; } } else { if (i =3D=3D 0) { focusField =3D form[oDate[x][0]]; } fields[i++] =3D oDate[x][1]; bValid =3D false; } } else { if (i =3D=3D 0) { focusField =3D form[oDate[x][0]]; } fields[i++] =3D oDate[x][1]; bValid =3D false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; } function isValidDate(day, month, year) { if (month < 1 || month > 12) { return false; } if (day < 1 || day > 31) { return false; } if ((month =3D=3D 4 || month =3D=3D 6 || month =3D=3D 9 = || month =3D=3D 11) && (day =3D=3D 31)) { return false; } if (month =3D=3D 2) { var leap =3D (year % 4 =3D=3D 0 && (year % 100 !=3D 0 || year % 400 =3D=3D = 0)); if (day>29 || (day =3D=3D 29 && !leap)) { return false; } } return true; }]]> 0)) { var iMin =3D parseInt(oRange[x][2]("min")); var iMax =3D parseInt(oRange[x][2]("max")); var iValue =3D = parseInt(form[oRange[x][0]].value); if (!(iValue >=3D iMin && iValue <=3D iMax)) { if (i =3D=3D 0) { focusField =3D form[oRange[x][0]]; } fields[i++] =3D oRange[x][1]; bValid =3D false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; }]]> 0)) { var fMin =3D parseFloat(oRange[x][2]("min")); var fMax =3D parseFloat(oRange[x][2]("max")); var fValue =3D = parseFloat(form[oRange[x][0]].value); if (!(fValue >=3D fMin && fValue <=3D fMax)) { if (i =3D=3D 0) { focusField =3D form[oRange[x][0]]; } fields[i++] =3D oRange[x][1]; bValid =3D false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; }]]> 0)) { if (!luhnCheck(form[oCreditCard[x][0]].value)) { if (i =3D=3D 0) { focusField =3D form[oCreditCard[x][0]]; } fields[i++] =3D oCreditCard[x][1]; bValid =3D false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; } /** * Reference: = http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl */ function luhnCheck(cardNumber) { if (isLuhnNum(cardNumber)) { var no_digit =3D cardNumber.length; var oddoeven =3D no_digit & 1; var sum =3D 0; for (var count =3D 0; count < no_digit; count++) { var digit =3D = parseInt(cardNumber.charAt(count)); if (!((count & 1) ^ oddoeven)) { digit *=3D 2; if (digit > 9) digit -=3D 9; }; sum +=3D digit; }; if (sum =3D=3D 0) return false; if (sum % 10 =3D=3D 0) return true; }; return false; } function isLuhnNum(argvalue) { argvalue =3D argvalue.toString(); if (argvalue.length =3D=3D 0) { return false; } for (var n =3D 0; n < argvalue.length; n++) { if ((argvalue.substring(n, n+1) < "0") || (argvalue.substring(n,n+1) > "9")) { return false; } } return true; }]]> 0)) { if (!checkEmail(form[oEmail[x][0]].value)) { if (i =3D=3D 0) { focusField =3D form[oEmail[x][0]]; } fields[i++] =3D oEmail[x][1]; bValid =3D false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid; } /** * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com), * http://javascript.internet.com */ function checkEmail(emailStr) { if (emailStr.length =3D=3D 0) { return true; } var emailPat=3D/^(.+)@(.+)$/; var specialChars=3D"\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; var validChars=3D"\[^\\s" + specialChars + "\]"; var quotedUser=3D"(\"[^\"]*\")"; var = ipDomainPat=3D/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/; var atom=3DvalidChars + '+'; var word=3D"(" + atom + "|" + quotedUser + ")"; var userPat=3Dnew RegExp("^" + word + "(\\." + word + = ")*$"); var domainPat=3Dnew RegExp("^" + atom + "(\\." + atom + = ")*$"); var matchArray=3DemailStr.match(emailPat); if (matchArray =3D=3D null) { return false; } var user=3DmatchArray[1]; var domain=3DmatchArray[2]; if (user.match(userPat) =3D=3D null) { return false; } var IPArray =3D domain.match(ipDomainPat); if (IPArray !=3D null) { for (var i =3D 1; i <=3D 4; i++) { if (IPArray[i] > 255) { return false; } } return true; } var domainArray=3Ddomain.match(domainPat); if (domainArray =3D=3D null) { return false; } var atomPat=3Dnew RegExp(atom,"g"); var domArr=3Ddomain.match(atomPat); var len=3DdomArr.length; if ((domArr[domArr.length-1].length < 2) || (domArr[domArr.length-1].length > 3)) { return false; } if (len < 2) { return false; } return true; }]]> ------=_NextPart_000_0011_01C3261A.749C9590 Content-Type: text/xml; name="web.xml" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="web.xml" Web-based Training Service for CAPS Web-based Training Service for CAPS. Set Character Encoding caps.SetCharacterEncodingFilter = encodingBig5 Set Character Encoding /* action = org.apache.struts.action.ActionServlet = config/WEB-INF/struts-c= onfig.xml = debug2 = detail2 1 cache caps.Cache 2 practice caps.PracticeAction 3 action *.do cache servlet/Cache practice PracticeAction.do index.jsp /tags/struts-bean /WEB-INF/struts-bean.tld /tags/struts-html /WEB-INF/struts-html.tld /tags/struts-logic /WEB-INF/struts-logic.tld /tags/struts-nested /WEB-INF/struts-nested.tld /tags/struts-tiles /WEB-INF/struts-tiles.tld jdbc/caps javax.sql.DataSource Container ------=_NextPart_000_0011_01C3261A.749C9590 Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org ------=_NextPart_000_0011_01C3261A.749C9590--