【问题标题】:In simple project using Spring MVC controllers method calls three times在使用 Spring MVC 控制器方法调用 3 次的简单项目中
【发布时间】:2014-07-07 12:30:36
【问题描述】:

首先,对不起我的英语,我来自白俄罗斯,所以我的英语不够好。

所以,我的问题: 我只是想学习 Spring MVC,并决定在 IntelliJ IDEA 中制作一个简单的项目。 问题是该方法处理请求调用 3 次。

控制器代码:

@Controller
@RequestMapping("/")
public class UsersListController {
    @RequestMapping(method = RequestMethod.GET)
    public String usersList(ModelMap model) {
        UserService service = new UserService();
        service.createNew("test", "test", "test", 0, Role.admin);
        model.addAttribute("users", service.getAll());
        System.out.println(service.getAll().size());
        return "usersList";
    }
}

usersList.jsp 代码:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title></title>
</head>
<body>
<c:forEach var="user" items="${users}">
    <c:out value="${user.name}"/>
</c:forEach>
</body>
</html>

UserService类只是服务于User对象,具体来说就是新增User、删除、更改等典型操作。

所以,我希望看到一个“测试”,但我得到:“测试测试测试”(没有足够的声誉来发布图片)

有什么想法,我该怎么办?

附:类用户——一个简单的类:

public class User {
    private long id;
    private String name;
    private String email;
    private String password;
    private int age;
    private Role role;
//...constructors, setters and getters
}

【问题讨论】:

  • 你能展示service.createNew(方法吗?
  • 您的服务等级似乎有问题,休息对我来说似乎很好。
  • 看来你有用户集合 model.addAttribute("users", service.getAll());这就是为什么您会看到多个“测试”
  • service.getAll().size() 它给了你什么?
  • 如果我添加 System.out.println(service.getAll().size());在控制器的方法 usersList(..) 中,我会在开头得到“1”,然后会出现“2”和“3”。所以,它告诉我,我的控制器中的方法 usersList(..) 一次又一次地调用。

标签: java spring spring-mvc intellij-idea


【解决方案1】:

我认为你的代码是正确的,但你的方法

service.createNew("test", "test", "test", 0, Role.admin);

可能返回 3 个用户。没有别的。请检查您的 createNew() 方法,或者您可以在此处发布您的服务方法。谢谢

【讨论】:

  • 坦率地说,该方法没有返回任何内容 (void)。当您没有答案时,请发表评论。
【解决方案2】:

使用Intellij IDEA 时(应用程序启动时)可以调用 сontroller 方法 3 次 - 因为服务器配置 "After launch" 设置。

您可以尝试取消选择它:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多