All,
I have searched and researched and I cannot find what I am missing for migrating a existing project from Tomcat 7.x to WebSphere 8.0. I have created a work around for the problem but my curiosity is getting the better of me because I don't understand the why. My problem is that when I first loaded the project to WebSphere I was getting There is no Action mapped for namespace [/] and action name [] associated with context path
. I researched and found a couple of things to try. I added
com.ibm.ws.webcontainer.removetrailingservletpathslash=true
com.ibm.ws.webcontainer.mapFiltersToAsterisk=true
com.ibm.ws.webcontainer.invokefilterscompatibility=true
with no avail and ultimately I added an empty action that redirected to the welcome page and all was well. However, I personally view this as a work-around and not a fix. So, I guess my question is why does it not fall through to the welcome file list? Have I missed something in setting up/transferring the project? Am I misunderstanding how filters work?
I've included below my struts2 workaround, web.xml and the file structure. Thanks for anything you guys can help with.
JF
web.xml Snippit
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>securityContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
struts.xml snippit
EDIT: as in the comment, set <action name="">
solve the question
<package name="dst" extends="struts-default" namespace="/">
<!-- Added as a workaround to the problem -->
<action name="">
<result>/index.jsp</result>
</action>
</package>
File Structure being used
web
----WEB-INF
--------jsp (Folder holding jsps)
--------lib (Extra jars being used)
--------web.xml
----index.jsp
EDIT
As per request
Index.jsp
<%@ page language="java" import="java.util.*" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<div> Test Page</div>
</body>
</html>
<action name="">
it displays same error? – Maldon<action name="">
then I get the no Action mapped error. The moment i add the<action name="">
tag then the error goes away. However, I was under the impression that the<welcome-file>
should kick in when I access it likehttp://localhost:9080/cars/
Where the webcontext is/cars/
– Decorum/cars/
? If yes try without trailing slash/cars
. – Maldon