MVC

MVC:

M:model ( 业务逻辑与业务数据 ):javabean

V:view ( 显示逻辑 )

将数据按照用户的要求显示出来。

对同一份数据而言,可以以多种形式。

体现 ( 类表, 屏图,柱图 等等 )。

C:controller ( 控制器,负责程序的流程控制)接收用户请求,根据业务逻辑的执行情况 返回相应的结果。

用Servlet来实现。

好处:

1) 各司其职,解耦合。

2) 代码可重用。

前端控制器(Servlet)的工作指责:

1) 能够接受所有的用户请求。

*

2) 能跟据请求的不同 调用 不同的处理(javabean)。

a,请求的不同 ---> url ---> servletpath

http://loxxx:8080/app/login

http://loxxx:8080/app/query

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把页面返回给用户。

posted @ 2018-10-04 23:48  尐鱼儿  阅读(105)  评论(0编辑  收藏  举报