0

I'm trying to change url-patter in dispather servler mapping:

dispatcher-servlet.xml:

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="index.htm">indexController</prop>
        </props>
    </property>
</bean>

<context:component-scan base-package="Controllers"/>
<mvc:annotation-driven/>

<bean
    class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter">
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>


<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/jsp/"
      p:suffix=".jsp" />

<bean name="indexController"
      class="org.springframework.web.servlet.mvc.ParameterizableViewController"
      p:viewName="index" />

Chunk of web.xml:

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

and Controller:

@Controller
public class SaleController {
    @RequestMapping(value = "/sales/info", produces = "application/json", headers = "")
    public @ResponseBody Product getProductJson(@RequestParam String id) throws SQLException
    {
        ProductDAO mapping = new ProductDAOImpl();
        Product product = mapping.getProductById(Integer.parseInt(id));
        return product;
    }
}

But when I'm trying to get http://localhost:8080/appk/sales/info I have exception:

javax.servlet.ServletException: No adapter for handler [Controllers.SaleController@15370df]: The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler
    org.springframework.web.servlet.DispatcherServlet.getHandlerAdapter(DispatcherServlet.java:1144)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52

What exactly handler I need to configure and how it can be done?

Betlista
  • 10,327
  • 13
  • 69
  • 110
St.Antario
  • 26,175
  • 41
  • 130
  • 318

0 Answers0