Java 将url映射到控制器

Java 将url映射到控制器,java,spring,spring-mvc,Java,Spring,Spring Mvc,在我的applicationContext.xml中,我把这个 <bean id="something" class="com.to.theController"/> 当jetty启动时,我可以看到定义bean[something,… 但是当我进入http://localhost:8080/api/add,我得到404错误。我遗漏了什么?我已经调试了apiAddHandler方法,当我调用URL时不会调用此方法您的web.xml中是否有元素来映射看起来像/api/add的URL到D

在我的applicationContext.xml中,我把这个

<bean id="something" class="com.to.theController"/>
当jetty启动时,我可以看到定义bean
[something,…

但是当我进入
http://localhost:8080/api/add
,我得到404错误。我遗漏了什么?我已经调试了apiAddHandler方法,当我调用URL时不会调用此方法您的
web.xml
中是否有
元素来映射看起来像
/api/add
的URL到
DispatcherServlet

如果没有,那么如果请求一开始就没有将URL映射到Spring MVC,那么Spring MVC如何将URL映射到控制器就无关紧要了。

您的
web.xml
中是否有
元素来映射看起来像
/api/add
DispatcherServlet


如果不是,那么如果请求从未发送到Spring MVC,那么Spring MVC如何将URL映射到控制器并不重要。

您需要进行一些设置

  • 在web.xml中,您添加了DispatcherServlet的映射。 差不多

    <servlet>
        <servlet-name>springapp</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>springapp</servlet-name>
        <url-pattern>*/api/add</url-pattern>
    </servlet-mapping>
    
    
    springapp
    org.springframework.web.servlet.DispatcherServlet
    1.
    springapp
    */api/add
    
  • 您必须将注释处理程序添加到spring配置中

    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
    <context:component-scan base-package="learn.web.controller" />
    
    
    
    其中learn.web.controller是包含已注释组件的包


  • 你需要做一些设置

  • 在web.xml中,您添加了DispatcherServlet的映射。 差不多

    <servlet>
        <servlet-name>springapp</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>springapp</servlet-name>
        <url-pattern>*/api/add</url-pattern>
    </servlet-mapping>
    
    
    springapp
    org.springframework.web.servlet.DispatcherServlet
    1.
    springapp
    */api/add
    
  • 您必须将注释处理程序添加到spring配置中

    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
    <context:component-scan base-package="learn.web.controller" />
    
    
    
    其中learn.web.controller是包含已注释组件的包


  • 确保Spring正在查找您的批注。您应该看到类似于“INFO DefaultAnnotationHandlerMapping:343-Mapped URL path[/api/add]到handler[com.example”的内容。ExampleController@6f3588ca]“在日志中

    另外,如前所述,您需要确保web.xml中有正确的url映射

    我会用

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    
    调度员
    /
    
    如果使用注释,则将所有URL映射到dispatcher servlet

    如果您想在DispatcherServlet之外提供一些内容,还可以添加以下内容

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
    </servlet-mapping>
    
    
    违约
    *jpg先生
    
    确保Spring正在查找您的批注。您应该看到类似“INFO DefaultAnnotationHandlerMapping:343-映射URL路径[/api/add]到handler[com.example]的内容。ExampleController@6f3588ca]“在日志中

    另外,如前所述,您需要确保web.xml中有正确的url映射

    我会用

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    
    调度员
    /
    
    如果使用注释,则将所有URL映射到dispatcher servlet

    如果您想在DispatcherServlet之外提供一些内容,还可以添加以下内容

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
    </servlet-mapping>
    
    
    违约
    *jpg先生
    
    404消息说什么?404消息说什么?