stucts流程-2

上一节我们搭建了Struts的运行和开发环境。这一节着重讲述MVC的基本概念和与使用JSP/JavaBean模式开发Web应用的比较。
(1)Tomcat的启动。
从上一节的Tomcat的配置文件中,我们可以看到关于Struts的配置,当Tomcat启动时,会加载Struts的配置文件struts-config.xml,关于配置文件的内容请见
(2)JSP/JavaBean开发Web应用
在asp的时代,我们还没有讨论什么开发模式,也没有顾及MVC(虽然MVC的概念早已出现)。用asp开发不外乎以下两种情况,一、就是直接将代码集成到asp文件中,经验多的话,会将常用的函数放至一起,引用时只需include即可;二、对于复杂的应用,如文件上传等,我们会用其他语音如VB、Delphi等写一个控件(ADO即属于此类)。
当java流行,JSP逐渐成熟,也正是模式、框架流行的时代,所以我们不管是看java的类库,还是看现在流行的框架,无一没有模式的存在。当你初接触JSP的时候,就可以看到书上说“尽量少的在jsp中插入Java代码”,这句话已是模式运用的端倪。
下面我们先不管MVC,先从JSP/JavaBean来看Web的开发。这种模式很想上面提到的asp开发的第二种情况,我们将业务逻辑放到JavaBean中,只用JSP去表示页面。
有过asp经验都知道,在接收表单数据的时候,我们不得不一个一个将数据接收过来,以至于有很长的一段如:CustomId = request("CustomId")的代码。而在JSP中,我们不用这么繁琐,一个我们可以用EL直接表示即可,另外我们可以利用javaBean的introspection机制。直接将表单的数据映射到javabean的private变量中,当然javabean中必须包含getter和setter函数(有很幸运,很多的开发工具可以自动生成,又减少了工作量)。下面是一个示例。

< jsp:useBeanid = " prof " scope = " page " class = " register.Profile " />
< jsp:setPropertyname = " prof " property = " * " />

我们只要表单的action页面中,直接插入以上代码(这些代码就不用解释了吧),就可以将表单中的数据映射到register.Profile这个javabean中,所以我们可以在javabean中实现业务逻辑,譬如数据的插入、修改、删除等。从而可以减小甚至消除JSP中的java代码量。
(3)MVC模式
上面提到的JSP/JavaBean与MVC模式很接近,但是还有很多差别。前者,我们可以看出,在javabean中有很多的逻辑代码,我们要控制页面的跳转,还是要在JSP中读取javabean中的某些标志,嵌入java代码来实现,这看起来显得有些笨拙。我们是否能在JSP和javabean中再加一层,专门来实现跳转即控制页面的输出呢?of course,这就是MVC的思想。
Struts就是一个实现MVC模式的WEB开发框架,在Struts中用JSP作为Viewer,javabean继承自ActionForm来映射JSP表单数据,用继承自Action的类来实现Controller,而Model没有特殊定义,它可以是EJB,普通Bean或者Web服务,总之Model中集成了业务逻辑的实现,在Controller中去调用,完成后Controller控制显示页面(jsp文件)。
这样一来,是不是业务流程非常的清晰?

你可能感兴趣的:(tomcat,mvc,jsp,struts,asp)