Spring MVC maven 控制器调用了两次

Spring MVC maven Controller called twice

我是 Spring mvc、maven 和 tomcat 的新手。我已经编写了一个控制器,并为其定义了一个 bean。现在,当我在浏览器中键入 url 时,如:localhost:8080/hello.htm 我的控制器被调用,当我点击此 URL 时它会再次被调用。 例如

<bean name="/hello.htm" class="com.paytm.controller.InventoryController">
    <property name="jdbcProductDao">
        <bean class="com.paytm.repository.JdbcProductDao">
            <constructor-arg ref="dataSource"></constructor-arg>
        </bean>
    </property>
</bean>

并且在控制器中

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Product product = new Product();
    product.setPrice(23.45);
    product.setDescription("Test Product");
    this.jdbcProductDao.saveProduct(product);
    ...
  }

因此产品在数据库中保存了两次。我的问题是为什么当我输入 URL(而不是点击它)时调用控制器?

您的浏览器会缓存您的 url 多功能框中不时出现相同的 url。清除缓存,它将解决您的问题。您可以通过在 chrome 浏览器中键入此内容来检查您的 chrome prerenders

chrome://net-internals/#prerender

有关详细信息,您可以查看 this 来源