我正在制作一个基于MVC模式的项目,但我对方法的位置(插入,更新和删除)有疑问,我不知道它是否在模型类中或是在另一部分(请查看代码)。对此的另一个疑问是接口(class Car implements CarInterface { ... }
),它是必要的还是我可以避免它?
控制器:
class ServletCar extends HttpServlet {
...
public void doPost( ... )
{
...
switch (action) {
...
case 'insert':
Car n = new Car();
n.set( request );
n.insert();
...
break;
...
}
...
}
}
查看(Car.jsp):
...
<form action="ServletCar" ...>
...
</form>
...
型号:
class Car {
// attributes
...
// gets ands sets
...
// functions i,u,d
public void insert( ... ) { ... }
public void update( ... ) { ... }
public void delete( ... ) { ... }
// other methods
...
}
答案 0 :(得分:0)
最好使用界面,所以如果您将CarMobel更改为MotoModel,您可以确定您已经正确命名了方法并且可以轻松访问
答案 1 :(得分:0)
这里的汽车似乎不是一个豆子。它似乎是一个数据访问对象。设计一个单独的bean和dao对象总是更好。
接口可以在dao类中实现。
还应该有一个重定向来查看。你在使用简单的servlet mvc吗?在这种情况下,我们需要放置请求调度程序。
答案 2 :(得分:0)
您应该创建一个服务层,因此在您的控制器中,您只需重定向到构成所有逻辑的正确服务。像这样:
class ServletCar extends HttpServlet {
private CarService carService;
public void doPost( ... )
{
...
switch (action) {
...
case 'insert':
carService.insert(carParam)
break;
...
}
...
}
}
public interface CarService {
save(Car car);
update(Car car);
delete(Car car);
}
public class CarServiceImpl implements CarService {
save (Car car) {
...
}
}
在您的控制器中只需重定向到具有所有业务逻辑的服务,在您的服务中包含所有业务逻辑,数据访问,......