Servlet Mapping Help - Possible to Avoid Referencing Context Name?
- by AJ
Hi all,
I am working on a Spring application and trying to get my URL mapping correct.  What I would like to have work is the following:
http://localhost:8080/idptest -> doesn't work
But instead, I have to reference the context name in my URL in order to resolve the mapping:
http://localhost:8080/<context_name>/idptest -> works
How can I avoid the requirement of referencing the context name in my URL without using a rewrite/proxy engine e.g. Apache?
Here is the servlet definition and mapping from my web.xml:
<servlet>
    <servlet-name>idptest</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/conf/idptest.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup> 
</servlet>
<servlet-mapping>
    <servlet-name>idptest</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
Here's the outline of my controller (showing annotations for request mappings):
@Controller
@RequestMapping("/idptest")
public class MyController  {
    @RequestMapping(method=RequestMethod.GET)
    public String setupForm(Model model){
            MyObject someObject = new MyObject();
        model.addAttribute("someObject", someObject);
        return "myform";
    }
    @RequestMapping(method = RequestMethod.POST)
    public String processSubmit(@ModelAttribute("someObject") MyObject someObject) throws Exception {
        // POST logic...
    }
}
Thanks!