MVC
MVC:
M:model ( 业务逻辑与业务数据 ):javabean
V:view ( 显示逻辑 )
将数据按照用户的要求显示出来。
对同一份数据而言,可以以多种形式。
体现 ( 类表, 屏图,柱图 等等 )。
C:controller ( 控制器,负责程序的流程控制)接收用户请求,根据业务逻辑的执行情况 返回相应的结果。
用Servlet来实现。
好处:
1) 各司其职,解耦合。
2) 代码可重用。
前端控制器(Servlet)的工作指责:
1) 能够接受所有的用户请求。
*
2) 能跟据请求的不同 调用 不同的处理(javabean)。
a,请求的不同 ---> url ---> servletpath
request.getServletPath() --> path
login=A f1 f2 f3
query=B
delete=C
b,通过一个配置文件,向servlet说明 被调用组件 和 serlvetpath 之间的对应关系。
C,要求所有的被调用的组件 必须按照某个接口的规发来进行开发 .这样才能由servlet正确的调用。
Action的主要作用是获得参数,让业务(Biz)处理,然后把处理的结果返回给Action再返回给Servlet。
public interface Action{
public String execute( request , response )
}
LoginAction
execute( Request, response ){
String name = request.getParameter( .. ) ;
String pwd = request.getParameter( "" );
UserBiz biz = new UserBiz();
biz.login( name, pwd );
return "ok.jsp|error.jsp" ;
}
UserBiz
login( userName, password )
Servlet ---> Action ---> Biz
1) biz 实现业务逻辑
2) 写Action
a, 准备参数
b, 调用biz
c, 根据biz的运行结果,返回对应URL
3)在配置文件中, 指定servletpath 与 Action之间的对应关系 .
4) 编写下一个JSP
ProductBiz
|-> Collection<Product> getAllProducts();
return Collection;
QuerProductAction
|-> execute()
|-> biz.getAllProducts(); --> disp.jsp
return disp.jsp;
MVC的大至执行顺序:
1,用户发送请求>2获取用户的servletpath>3根据servletpath在配置文件中查找javabean的名字,>4返回名字>5,execute>6,复杂业务计算>7,返回下一个页面的URL>8根据URL转向下一个页面>9把页面返回给用户。