java - Java MVC 模式中的变量声明约定/规则?

标签 java model-view-controller design-patterns jsp servlets

我是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}

我的问题/困惑?

  1. 在不同的环境中声明相同变量的正确方法是什么
    模块( Controller 、模型、 View 、dao)?我应该如何避免混淆?

  2. 在不同的环境中声明变量时是否必须遵循任何约定? 模块?

  3. 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/

相关文章:

c# - 向 HTML.DropDownListFor 添加一个类

iphone - 了解 iOS 应用程序中使用的 MVC 模式

java - Facade 模式 - 返回原始对象或修改后的原始对象

jsf - JSF 是否支持 MVVM 设计模式?

java - 在构建 SpringMVC 上保护上传的文件

java - 重写其参数扩展 "generified"类的方法

java - 使用 Apache-POI 从 excel 文件中搜索记录的有效方法

java - 在一个数组索引中存储多个对象或实例

JavaScript MVC : model method called inside controller returns udefined -> but why?

design-patterns - 在 MVP 架构中存储状态的位置