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 来源
我是 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 来源