Here is my long-time Struts 1 mapping. The application has always used "big" for its Struts 1 url-pattern extension.
I just changed my Struts 2 filter mapping url-pattern to:
and now my pdfJobFile servlet is working again. Thanks!
In summary, my problem was a Struts 2 url
pattern that conflicted with my servlet's url pattern (both used wildcards). I fixed it by narrowing the scope of my Struts 2 filter mapping down from being a wildcard.
As a precaution against further conflicts, I also narrowed the scope of my servlet's pattern by taking away its wildcard. I changed that url pattern to:
and it still seems to be working okay.
May I please ask for further clarification on your statement regarding "No magic here?" I know this is true, but it seems like magic to those of us who don't understand the process. Here is my question:
Whenever there is a link in a
JSP page to one of my actions, I always use the extension .big or .action to indicate whether it is a Struts 1 or Struts 2 action. But, when using an HTML form, its action attribute does not need an extension. So, how does the controller know whether to look in struts-config.xml (Struts 1) or struts.xml (Struts 2) to find that action? In my case it always works the way it should (magic?).
Thank you very much for your assistance in this matter.