tracker issue : CF-3118499

select a category, or use search below
(searches all categories and all time range)
Title:

CF10 on Tomcat requires a new servlet mapping for friendly ses urls

| View in Tracker

Status/Resolution/Reason: Closed/Won't Fix/TooManyChanges

Reporter/Name(from Bugbase): Mike Collins / Mike Collins (Mike Collins)

Created: 02/20/2012

Components: Web Container (Tomcat)

Versions: 10.0

Failure Type: Non Functioning

Found In Build/Fixed In Build: Public Beta /

Priority/Frequency: Critical / Most users will encounter

Locale/System: English / Windows 7 64-bit

Vote Count: 0

Problem Description:
If you use the common approach of using friendly urls you will find Tomcat will throw a 404 error.

Steps to Reproduce:
Use an app such as blogcfc or mura where by the url requests a directory that does not exist.

Actual Result:
receive a 404

Expected Result:
A 200 status code with the delivered CFM page

Any Workarounds:
Add the following servlet mapping in the web.xml file

<servlet-mapping>
	<servlet-name>CFMLServlet</servlet-name>
	<url-pattern>/index.cfm/*</url-pattern>
</servlet-mapping>

This stops Tomcat from checking if the file exists and sends the request to the CFMLServlet.

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3118499

External Customer Info:
External Company:  
External Customer Name: mcollins323
External Customer Email:  
External Test Config: My Hardware and Environment details: NA

Attachments:

Comments:

This option is enabled by default in web.xml located in C:\ColdFusion10\cfusion\wwwroot\WEB-INF\ directory. In that file search for the pattern SES, The following is already present: <!-- begin SES --> <servlet-mapping id="coldfusion_mapping_6"> <servlet-name>CfmServlet</servlet-name> <url-pattern>*.cfml/*</url-pattern> </servlet-mapping> <servlet-mapping id="coldfusion_mapping_7"> <servlet-name>CfmServlet</servlet-name> <url-pattern>*.cfm/*</url-pattern> </servlet-mapping> <servlet-mapping id="coldfusion_mapping_8"> <servlet-name>CFCServlet</servlet-name> <url-pattern>*.cfc/*</url-pattern> </servlet-mapping> <!-- end SES --> So in any standalone installation SES urls will work properly. Can you check once again and get back to me if you face any issues. (Comment added from ex-user id:kamaiya)
Comment by Adobe D.
20735 | February 21, 2012 11:42:41 PM GMT
I am aware of thise mappings. This is a Tomcat issue. I was testing from a cf10 JEE install deployed to Tomcat. However, both web.xml have the same web.xml mappings. As soon as I added the mapping my urls began to work. IE aaa.com/index.cfm/boston
Comment by External U.
20736 | February 22, 2012 09:38:07 AM GMT
We do not support default SES URL's to work in a J2EE setup since each application server has different settings and it difficult to provide support to all J2EE setup in general. By default SES URL's are not supported in Tomcat, hence the below mappings must be added manually for SES URL's to work with CF. We can release note this so that if customers face this issue, they can refer to the release note. Thanks for letting us know about this. (Comment added from ex-user id:kamaiya)
Comment by Adobe D.
20737 | February 22, 2012 11:46:51 PM GMT