您的位置:首页 > 编程语言 > Java开发

从零开始写javaweb框架笔记10-搭建轻量级JAVAWEB框架-确定目标

2016-01-10 13:28 701 查看
       从此开始搭建一个轻量级的java WEB框架,在开始之前,前面需要确定一个目标,我们的目标是打造一个轻量级的MVC框架,而Controller是MVC的核心,其实我们想要的是这样的Controller代码:

/**
* 处理客户管理相关请求
*/
@Controller
public class CustomerController {
@Inject
private CustomerService customerService;
/**
* 进入客户列表界面
*/
@Action("get:/customer")
public view index(Param param){
List<Customer> customerList=customerService.getCustomerList();
return new view("customer_show.jsp").addModel("customerList",customerList);
}
/**
* 显示客户信息
*/
@Action("get:/customer_show")
public view show(Param param){
long id=param.getLong("id");
Customer customer=customerService.getCustomer(id);
return new view("customer_show.jsp").addModel("customer",customer);
}
/**
* 进入创建客户 界面
*/
@Action("get:/customer_create")
public view create(Param param){
return new view("customer_create.jsp");
}
/**
* 处理创建客户请求
*/
@Action("post:/customer_create")
public Data createSubmit(Param param){
Map<String,Object> fieldMap=param.getMap();
boolean result=customerService.createCustomer(fieldMap);
return new Data(result);
}
/**
* 进入编辑客户界面
*/
@Action("get:/customer_edit")
public view edit(Param param){
long id=param.getLong("id");
Customer customer=customerService.getCustomer(id);
return new View("customer_edit.jsp").addModel("customer",customer);
}
/**
* 处理编辑客户请求
*/
@Action("put:/customer_edit")
public Data editSubmit(Param param){
long id=param.getLong("id");
Map<String,Object> fieldMap=param.getMap();
boolean result=customerService.updateCustomer(id,fieldMap);
return new Data(result);
}
/**
* 处理编辑客户请求
*/
@Action("delete:/customer_edit")
public view delete(Param param){
long id=param.getLong("id");
boolean result=customerService.deleteCustomer(id);
return new Data(result);
}
}
  通过Controller注解来定义Controller类,在该类中可通过Inject(注解)注解定义一系列Service成员变量,这就是依赖注入。此外,有一系列被Action注解所定义的方法(简称Action方法),在这些Action方法中,调用了Service成员变量的方法来完成具体的业务逻辑。若返回View对象,则表示JSP页面;若返回Data对象,则表示一个JSON数据。
   Contoller代码非常清晰,一个Controller类包含了多个Action方法,可返回View或Data对象,分别对应JSP页面或者json数据。

    注意:在普通请求的情况下可返回JSP页面,在Ajax请求的情况下,需要返回json数据。

    现在Controller设计好了,这是我们想象中,还没具体实现这个控制器,在上一节中的也是想象的,没有具体实现,下面我们开始搭建一个开发环境,实现MVC框架,实现这个控制器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 框架 smart mvc