SpringMVC
MVC
m:model:模型,javabean
v:view:视图,html/jsp
c:controller:控制器:servlet
Controller.java 控制器
package com.qfedu.mvc.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 自定义接口,实现管理多个请求,在模拟Spring MVC中的控制器
*/
public interface Controller {
String handleRequest(HttpServletRequest request, HttpServletResponse response);
}
制定规则,让所有的控制器的业务类都实现这个接口,重写处理业务的具体方法.
ProductInputController.java
package com.qianfeng.controller;
import com.qianfeng.bean.Product;
import com.qianfeng.form.ProductForm;
import com.qianfeng.validate.ProductValidate;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
public class ProductDetail implements Controller {
@Override
public String handleRequest(HttpServletRequest request, HttpServletResponse response) {
String pname = request.getParameter("pname");
String pid = request.getParameter("pid");
String sprice = request.getParameter("price");
String image = request.getParameter("image");
double price = sprice == null||sprice.length()==0?0.0:Double.parseDouble(sprice);
ProductForm pf = new ProductForm();
pf.setPname(pname);
pf.setPrice(price);
pf.setImage(image);
ProductValidate pv = new ProductValidate();
List<String> errors = pv.validate(pf);
String url = null;
if(errors!=null && !errors.isEmpty()){
request.setAttribute("errors",errors);
url = "/WEB-INF/view/index.jsp";
}else {
Product p = new Product();
p.setPid(Integer.parseInt(pid));
p.setPname(pf.getPname());
p.setPrice(pf.getPrice());
p.setImage(pf.getImage());
request.setAttribute("product",p);
url = "/WEB-INF/view/product.jsp";
}
return url;
}
}
ProductInput.java
package com.qianfeng.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ProductInput implements Controller {
@Override
public String handleRequest(HttpServletRequest request, HttpServletResponse response) {
return "/WEB-INF/view/index.jsp";
}
}
返回转发页面.
/[/n今天是我在千锋线上学习的第14天,武汉加油!]/