我是Java世界的新手。如何避免 MVC 模式中的变量声明对同一变量造成混淆?
例如,
在 Servlet( Controller )中:
String firstName = request.getParameter("firstname");
String lastName = request.getParameter("lastname");
在 Bean(模型)中:
private String firstname;
private String lastname;
public Person(String FirstName, String LastName) {
setFirstName(FirstName);
setLastName(LastName);
}
//Getter and Setter Methods
public String getFirstName() {
return firstname;
}
public void setFirstName(String FirstName) {
this.firstname = FirstName;
}
public String getLastName() {
return lastname;
}
public void setLastName(String LastName) {
this.lastname = LastName;
}
在 DAO(数据访问层)中:
public void savePerson(String firstName, String lastName) {
// Method statements
}
在 JSP( View )中:
${person.firstname} ${person.lastname}
我的问题/困惑?
在不同的环境中声明相同变量的正确方法是什么
模块( Controller 、模型、 View 、dao)?我应该如何避免混淆?在不同的环境中声明变量时是否必须遵循任何约定? 模块?
Servlet 和 DAO 中的变量应该相同吗?应该在模型/Bean 中使用变量 与 Servlet 和 DAO 有何不同?
最佳答案
在您的 servlet 中,这些将是方法变量。这样就很好了。
在您的模型中,这充当模型的属性。这样也挺好的。
在 View 中,您实际上是指模型的属性,而不是声明任何变量。
在 DAO 中,您实际上是在持久化您的模型。
所以,在 Servlet/Controller 中,这将更像这样,
Person p = new Person();
p.setFirstName(request.getParameter("firstname"));
p.setLastName(request.getParameter("lastname"));
在你的 DAO 中,它会更像这样,
public void savePerson(Person person) {
// Method statements
}
因此,声明仅发生在Model
中。我希望它能消除您的困惑。
关于java - Java MVC 模式中的变量声明约定/规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5944881/