我有一个使用 Spring 和 Hibernate 框架编写的应用程序。一切正常,但我确实有一个问题:如果控制器通过调用服务层方法来调用业务逻辑,那么某些代码应该去哪里,例如在下面的代码中,用于设置新人员角色和密码的代码是否应该在控制器方法中处理 AddPerson 页面的 POST 请求,还是在服务层方法中?
// Saves addPerson.jsp.
 @RequestMapping(value = "/add", method = RequestMethod.POST)
 public String postAdd(@ModelAttribute("person") Person person) {  
      logger.debug("PersonController.postAdd called");
      // Create random number for new Person's password.
      person.setPassword(String.valueOf(Java_Utils.getRandomNumber()));
      // Create role for new Person.
      person.setRole("PERSON");
      // Add Person.
      personService.add(person);
      // Set records.jsp
      return "redirect:/demo/main/record/list";
 }
这当然只是一个简单的例子,但我很好奇。PERSON 的作用是满足使用 Tomcat 的约束,以防止用户到达经过身份验证的页面。