我有一个使用 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 的约束,以防止用户到达经过身份验证的页面。