javaWeb之MVC模式

javaWeb引入了servlet概念,所有的开发都是以servlet为主体展开的,由Servlet接受所有的客户端请求,然后根据请求调用相应的JavaBean,并将所有的显示结果交给JSP完成,这就是俗称的MVC模式;

MVC是一个设计模式,它强制性地使应用程序的输入,处理和输出分开,即它有3个核心层:模型层,显示层,控制层;他们各自处理自己的任务:

  1. 显示层(View):主要负责接收Servlet传递的内容,并且调用JavaBean,将内容显示给用户;
  2. 控制层(Controller):主要负责所有的用户请求参数,判断请求参数是否合法;
  3. 模型层(model):完成一个独立的业务操作组件,一般都是以JavaBean或者EJB(Enterprise JavaBean是SUN提供的一种分布式组件技术,主要负责业务中心的编写,分行会话Bean,实体Bean,和消息驱动Bean)的形式进行定义;

在MVC中,当用户有请求提交时,所有的请求都会交给Servlet进行处理,然后由Servlet调用JavaBean,并将JavaBean的操作结果通过RequestDispatcher接口传递到JSP页面,由于这些请求要显示的内容只是在一次请求---回应中有效,所以在MVC中所有的属性都将使用request属性范围传递,这样可以提升代码的操作性能;

为什么要使用request属性?

   在JSP中有4中属性范围,他们分别由不同的保存时间,如果是page则保存在一个页面,跳转无效,如果是request则在一次服务器端跳转后有效,选择新连接后失效,如果是session则在一次会话中有效,用户注销后失效,如是application,则保存在服务器上,服务器关闭则失效;

   按照这个逻辑(当属性只需要在一次服务器上跳转使用),应用的request范围所保存的时间是最少的,保存时间内存占用量也就少,所有性能是最高的,如果某些属性要在一次会话中保存,肯定要使用session,一般用户登陆验证中使用session属性范围;

相关推荐