How to Use SimpleUrlHandlerMapping with SpringBoot









up vote
1
down vote

favorite












I am using SpringBoot and want to configure SimpleUrlHandlerMapping bean for my custom mapping. For that follow are the piece of code that I wrote.



@Configuration
public class WebConfiguration

@Bean
public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
System.out.println("creating SimpleUrlHandlerMapping ....");
SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
simpleUrlHandlerMapping.setOrder(0);
Properties urlProperties = new Properties();
urlProperties.put("/index", "myController");

simpleUrlHandlerMapping.setMappings(urlProperties);

return simpleUrlHandlerMapping;




I also have one Controller with name myController and its code looks like this.



@Controller("myController")
public class MyController extends AbstractController

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
System.out.println("My Controller!");
return null;





Now as per code when http://localhost:7171//index is hit then it should print the My Controller message on console. But it not touch this code.
Because this is an SpringBoot application and on start it print this bean registration with myController.



Could someone help to resolve this issue and tell me whats wrong in this code.



Thanks in advance.










share|improve this question

























    up vote
    1
    down vote

    favorite












    I am using SpringBoot and want to configure SimpleUrlHandlerMapping bean for my custom mapping. For that follow are the piece of code that I wrote.



    @Configuration
    public class WebConfiguration

    @Bean
    public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
    System.out.println("creating SimpleUrlHandlerMapping ....");
    SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
    simpleUrlHandlerMapping.setOrder(0);
    Properties urlProperties = new Properties();
    urlProperties.put("/index", "myController");

    simpleUrlHandlerMapping.setMappings(urlProperties);

    return simpleUrlHandlerMapping;




    I also have one Controller with name myController and its code looks like this.



    @Controller("myController")
    public class MyController extends AbstractController

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
    System.out.println("My Controller!");
    return null;





    Now as per code when http://localhost:7171//index is hit then it should print the My Controller message on console. But it not touch this code.
    Because this is an SpringBoot application and on start it print this bean registration with myController.



    Could someone help to resolve this issue and tell me whats wrong in this code.



    Thanks in advance.










    share|improve this question























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I am using SpringBoot and want to configure SimpleUrlHandlerMapping bean for my custom mapping. For that follow are the piece of code that I wrote.



      @Configuration
      public class WebConfiguration

      @Bean
      public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
      System.out.println("creating SimpleUrlHandlerMapping ....");
      SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
      simpleUrlHandlerMapping.setOrder(0);
      Properties urlProperties = new Properties();
      urlProperties.put("/index", "myController");

      simpleUrlHandlerMapping.setMappings(urlProperties);

      return simpleUrlHandlerMapping;




      I also have one Controller with name myController and its code looks like this.



      @Controller("myController")
      public class MyController extends AbstractController

      @Override
      protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
      System.out.println("My Controller!");
      return null;





      Now as per code when http://localhost:7171//index is hit then it should print the My Controller message on console. But it not touch this code.
      Because this is an SpringBoot application and on start it print this bean registration with myController.



      Could someone help to resolve this issue and tell me whats wrong in this code.



      Thanks in advance.










      share|improve this question













      I am using SpringBoot and want to configure SimpleUrlHandlerMapping bean for my custom mapping. For that follow are the piece of code that I wrote.



      @Configuration
      public class WebConfiguration

      @Bean
      public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
      System.out.println("creating SimpleUrlHandlerMapping ....");
      SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
      simpleUrlHandlerMapping.setOrder(0);
      Properties urlProperties = new Properties();
      urlProperties.put("/index", "myController");

      simpleUrlHandlerMapping.setMappings(urlProperties);

      return simpleUrlHandlerMapping;




      I also have one Controller with name myController and its code looks like this.



      @Controller("myController")
      public class MyController extends AbstractController

      @Override
      protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
      System.out.println("My Controller!");
      return null;





      Now as per code when http://localhost:7171//index is hit then it should print the My Controller message on console. But it not touch this code.
      Because this is an SpringBoot application and on start it print this bean registration with myController.



      Could someone help to resolve this issue and tell me whats wrong in this code.



      Thanks in advance.







      spring spring-boot






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 10 at 17:56









      Still Learning

      5213826




      5213826






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          2
          down vote



          accepted










          @Autowire Controller Bean in Configuration class and pass it through Properties




          SimpleUrlHandlerMapping is the most flexible HandlerMapping implementation. It allows for direct and declarative mapping between either bean instances and URLs or between bean names and URLs.



          Let’s map requests “/simpleUrlWelcome” and “/*/simpleUrlWelcome” to the “welcome” bean: here




          @Configuration
          public class WebConfiguration

          @Autowired
          private indexController index;

          @Bean
          public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
          System.out.println("creating SimpleUrlHandlerMapping ....");
          SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
          simpleUrlHandlerMapping.setOrder(0);
          Properties<String,Object> urlProperties = new Properties<>();
          urlProperties.put("/index", index);

          simpleUrlHandlerMapping.setMappings(urlProperties);

          return simpleUrlHandlerMapping;




          Controller



          @Controller("index")
          public class indexController extends AbstractController

          @Override
          protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
          System.out.println("My Controller index!");
          return null;








          share|improve this answer






















          • Thanks Deadpool! your name is super cool.
            – Still Learning
            Nov 11 at 4:51










          • Hi @Deadpool, Sorry to say but still it showing 404 on hitting localhost:7171//index . I misunderstood that system working but its not. Could you please guide me further.
            – Still Learning
            Nov 11 at 5:39










          • try this localhost:7171/index tomcat is running on 7171?
            – Deadpool
            Nov 11 at 6:05










          • I tried the same localhost:7171/index but 404 is coming.
            – Still Learning
            Nov 11 at 6:27










          • updating code try with that @StillLearning
            – Deadpool
            Nov 11 at 6:32










          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53241838%2fhow-to-use-simpleurlhandlermapping-with-springboot%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          2
          down vote



          accepted










          @Autowire Controller Bean in Configuration class and pass it through Properties




          SimpleUrlHandlerMapping is the most flexible HandlerMapping implementation. It allows for direct and declarative mapping between either bean instances and URLs or between bean names and URLs.



          Let’s map requests “/simpleUrlWelcome” and “/*/simpleUrlWelcome” to the “welcome” bean: here




          @Configuration
          public class WebConfiguration

          @Autowired
          private indexController index;

          @Bean
          public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
          System.out.println("creating SimpleUrlHandlerMapping ....");
          SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
          simpleUrlHandlerMapping.setOrder(0);
          Properties<String,Object> urlProperties = new Properties<>();
          urlProperties.put("/index", index);

          simpleUrlHandlerMapping.setMappings(urlProperties);

          return simpleUrlHandlerMapping;




          Controller



          @Controller("index")
          public class indexController extends AbstractController

          @Override
          protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
          System.out.println("My Controller index!");
          return null;








          share|improve this answer






















          • Thanks Deadpool! your name is super cool.
            – Still Learning
            Nov 11 at 4:51










          • Hi @Deadpool, Sorry to say but still it showing 404 on hitting localhost:7171//index . I misunderstood that system working but its not. Could you please guide me further.
            – Still Learning
            Nov 11 at 5:39










          • try this localhost:7171/index tomcat is running on 7171?
            – Deadpool
            Nov 11 at 6:05










          • I tried the same localhost:7171/index but 404 is coming.
            – Still Learning
            Nov 11 at 6:27










          • updating code try with that @StillLearning
            – Deadpool
            Nov 11 at 6:32














          up vote
          2
          down vote



          accepted










          @Autowire Controller Bean in Configuration class and pass it through Properties




          SimpleUrlHandlerMapping is the most flexible HandlerMapping implementation. It allows for direct and declarative mapping between either bean instances and URLs or between bean names and URLs.



          Let’s map requests “/simpleUrlWelcome” and “/*/simpleUrlWelcome” to the “welcome” bean: here




          @Configuration
          public class WebConfiguration

          @Autowired
          private indexController index;

          @Bean
          public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
          System.out.println("creating SimpleUrlHandlerMapping ....");
          SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
          simpleUrlHandlerMapping.setOrder(0);
          Properties<String,Object> urlProperties = new Properties<>();
          urlProperties.put("/index", index);

          simpleUrlHandlerMapping.setMappings(urlProperties);

          return simpleUrlHandlerMapping;




          Controller



          @Controller("index")
          public class indexController extends AbstractController

          @Override
          protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
          System.out.println("My Controller index!");
          return null;








          share|improve this answer






















          • Thanks Deadpool! your name is super cool.
            – Still Learning
            Nov 11 at 4:51










          • Hi @Deadpool, Sorry to say but still it showing 404 on hitting localhost:7171//index . I misunderstood that system working but its not. Could you please guide me further.
            – Still Learning
            Nov 11 at 5:39










          • try this localhost:7171/index tomcat is running on 7171?
            – Deadpool
            Nov 11 at 6:05










          • I tried the same localhost:7171/index but 404 is coming.
            – Still Learning
            Nov 11 at 6:27










          • updating code try with that @StillLearning
            – Deadpool
            Nov 11 at 6:32












          up vote
          2
          down vote



          accepted







          up vote
          2
          down vote



          accepted






          @Autowire Controller Bean in Configuration class and pass it through Properties




          SimpleUrlHandlerMapping is the most flexible HandlerMapping implementation. It allows for direct and declarative mapping between either bean instances and URLs or between bean names and URLs.



          Let’s map requests “/simpleUrlWelcome” and “/*/simpleUrlWelcome” to the “welcome” bean: here




          @Configuration
          public class WebConfiguration

          @Autowired
          private indexController index;

          @Bean
          public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
          System.out.println("creating SimpleUrlHandlerMapping ....");
          SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
          simpleUrlHandlerMapping.setOrder(0);
          Properties<String,Object> urlProperties = new Properties<>();
          urlProperties.put("/index", index);

          simpleUrlHandlerMapping.setMappings(urlProperties);

          return simpleUrlHandlerMapping;




          Controller



          @Controller("index")
          public class indexController extends AbstractController

          @Override
          protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
          System.out.println("My Controller index!");
          return null;








          share|improve this answer














          @Autowire Controller Bean in Configuration class and pass it through Properties




          SimpleUrlHandlerMapping is the most flexible HandlerMapping implementation. It allows for direct and declarative mapping between either bean instances and URLs or between bean names and URLs.



          Let’s map requests “/simpleUrlWelcome” and “/*/simpleUrlWelcome” to the “welcome” bean: here




          @Configuration
          public class WebConfiguration

          @Autowired
          private indexController index;

          @Bean
          public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
          System.out.println("creating SimpleUrlHandlerMapping ....");
          SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
          simpleUrlHandlerMapping.setOrder(0);
          Properties<String,Object> urlProperties = new Properties<>();
          urlProperties.put("/index", index);

          simpleUrlHandlerMapping.setMappings(urlProperties);

          return simpleUrlHandlerMapping;




          Controller



          @Controller("index")
          public class indexController extends AbstractController

          @Override
          protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception
          System.out.println("My Controller index!");
          return null;









          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 11 at 7:38

























          answered Nov 10 at 19:49









          Deadpool

          2,9262321




          2,9262321











          • Thanks Deadpool! your name is super cool.
            – Still Learning
            Nov 11 at 4:51










          • Hi @Deadpool, Sorry to say but still it showing 404 on hitting localhost:7171//index . I misunderstood that system working but its not. Could you please guide me further.
            – Still Learning
            Nov 11 at 5:39










          • try this localhost:7171/index tomcat is running on 7171?
            – Deadpool
            Nov 11 at 6:05










          • I tried the same localhost:7171/index but 404 is coming.
            – Still Learning
            Nov 11 at 6:27










          • updating code try with that @StillLearning
            – Deadpool
            Nov 11 at 6:32
















          • Thanks Deadpool! your name is super cool.
            – Still Learning
            Nov 11 at 4:51










          • Hi @Deadpool, Sorry to say but still it showing 404 on hitting localhost:7171//index . I misunderstood that system working but its not. Could you please guide me further.
            – Still Learning
            Nov 11 at 5:39










          • try this localhost:7171/index tomcat is running on 7171?
            – Deadpool
            Nov 11 at 6:05










          • I tried the same localhost:7171/index but 404 is coming.
            – Still Learning
            Nov 11 at 6:27










          • updating code try with that @StillLearning
            – Deadpool
            Nov 11 at 6:32















          Thanks Deadpool! your name is super cool.
          – Still Learning
          Nov 11 at 4:51




          Thanks Deadpool! your name is super cool.
          – Still Learning
          Nov 11 at 4:51












          Hi @Deadpool, Sorry to say but still it showing 404 on hitting localhost:7171//index . I misunderstood that system working but its not. Could you please guide me further.
          – Still Learning
          Nov 11 at 5:39




          Hi @Deadpool, Sorry to say but still it showing 404 on hitting localhost:7171//index . I misunderstood that system working but its not. Could you please guide me further.
          – Still Learning
          Nov 11 at 5:39












          try this localhost:7171/index tomcat is running on 7171?
          – Deadpool
          Nov 11 at 6:05




          try this localhost:7171/index tomcat is running on 7171?
          – Deadpool
          Nov 11 at 6:05












          I tried the same localhost:7171/index but 404 is coming.
          – Still Learning
          Nov 11 at 6:27




          I tried the same localhost:7171/index but 404 is coming.
          – Still Learning
          Nov 11 at 6:27












          updating code try with that @StillLearning
          – Deadpool
          Nov 11 at 6:32




          updating code try with that @StillLearning
          – Deadpool
          Nov 11 at 6:32

















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53241838%2fhow-to-use-simpleurlhandlermapping-with-springboot%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          How to read a connectionString WITH PROVIDER in .NET Core?

          Node.js Script on GitHub Pages or Amazon S3

          Museum of Modern and Contemporary Art of Trento and Rovereto