我总结了自己已经写了的这个learndiaryV0.9。大概主要包含以下对象: 用户(src\model\UserInfo.java),文章(src\model\ArticleInfo.java),jsp页面,Struts的Severlet,Struts的Action(src\action下所有的*.java),FormBean(\src\actionform\*.java),数据存取对象(src\dao\Learndiary.java),工具对象(src\util\*.java)。 他们之间的工作流程基本是这样的(以提交一篇文章为例): 用户在jsp页面发送一个写文章的消息-> jsp页面处理这个消息(通过链接Write*Action.do)-> Struts的Servlet接到jsp页面的消息-> 根据struts-config.xml的映射把消息转发给一个Action对象-> Action对象根据struts-config.xml的映射调用写文章的jsp页面对象-> 写在jsp页面的内容根据struts-config.xml的配置保存在一个FormBean中-> 用户在jsp页面发送一个提交文章的消息-> jsp页面处理这个消息(通过链接Post*Action.do)-> Struts的Servlet接到jsp页面的消息-> 根据struts-config.xml的映射把消息转发给一个Post*Action对象-> Post*Action对象取出保存在FormBean中的文章数据-> 给数据存取对象发送一个保存数据的消息-> 数据存取对象调用postArticle方法把用户的文章最终保存在数据库中。 这个系统基本上分为4个层次: 1、jsp页面层; 2、Struts Servlet,Struts Action的流程调度层; 3、数据存取对象的业务处理层; 4、数据库层; 在这里面至少有2个地方跟面向对象的体系相悖: 1、jsp页面算不算对象?(尽管它是servlet的变种,但用对象的3大属性却对不上号); 2、web程序里面的web.xml,struts-config.xml这些配置文件在面向对象的体系中是什么角色? 我们从整体上、从广义上可以把这些说成是对象,但具体到面向对象的分析与设计中又该怎么样处理呢? 所以,我说面向对象这块肉不好吃到的,也许是我的知识不够所至。 我们这个项目是学习型的项目,但是如果大家老是走弯路还是会气馁的。所以,为了保险起见,我们还是要把这个问题搞清楚。我的想法是: 1、查一下资料,有没有介绍成熟的jsp+javabean+struts开发方法的?尤其是有没有固定模式的面向对象的jsp+javabean+struts开发方法? 2、找一个正规的、用jsp+javabean+struts开发的公司,问他们是用什么开发方法(我没有条件,只有靠大家了)? 3、要是不存在固定模式的面向对象的jsp+javabean+struts开发方法,我们可以自己造一个出来,把上面我说的两个“异类”特殊处理一下。路是人走出来的。我们也不担心走了弯路有人会骂我们。 好了,面向对象就说到这里,不对的地方还望多指教。
我总结了自己已经写了的这个learndiaryV0.9。大概主要包含以下对象:
用户(src\model\UserInfo.java),文章(src\model\ArticleInfo.java),jsp页面,Struts的Severlet,Struts的Action(src\action下所有的*.java),FormBean(\src\actionform\*.java),数据存取对象(src\dao\Learndiary.java),工具对象(src\util\*.java)。
他们之间的工作流程基本是这样的(以提交一篇文章为例):
用户在jsp页面发送一个写文章的消息->
jsp页面处理这个消息(通过链接Write*Action.do)->
Struts的Servlet接到jsp页面的消息->
根据struts-config.xml的映射把消息转发给一个Action对象->
Action对象根据struts-config.xml的映射调用写文章的jsp页面对象->
写在jsp页面的内容根据struts-config.xml的配置保存在一个FormBean中->
用户在jsp页面发送一个提交文章的消息->
jsp页面处理这个消息(通过链接Post*Action.do)->
Struts的Servlet接到jsp页面的消息->
根据struts-config.xml的映射把消息转发给一个Post*Action对象->
Post*Action对象取出保存在FormBean中的文章数据->
给数据存取对象发送一个保存数据的消息->
数据存取对象调用postArticle方法把用户的文章最终保存在数据库中。
这个系统基本上分为4个层次:
1、jsp页面层;
2、Struts Servlet,Struts Action的流程调度层;
3、数据存取对象的业务处理层;
4、数据库层;
在这里面至少有2个地方跟面向对象的体系相悖:
1、jsp页面算不算对象?(尽管它是servlet的变种,但用对象的3大属性却对不上号);
2、web程序里面的web.xml,struts-config.xml这些配置文件在面向对象的体系中是什么角色?
我们从整体上、从广义上可以把这些说成是对象,但具体到面向对象的分析与设计中又该怎么样处理呢?
所以,我说面向对象这块肉不好吃到的,也许是我的知识不够所至。
我们这个项目是学习型的项目,但是如果大家老是走弯路还是会气馁的。所以,为了保险起见,我们还是要把这个问题搞清楚。我的想法是:
1、查一下资料,有没有介绍成熟的jsp+javabean+struts开发方法的?尤其是有没有固定模式的面向对象的jsp+javabean+struts开发方法?
2、找一个正规的、用jsp+javabean+struts开发的公司,问他们是用什么开发方法(我没有条件,只有靠大家了)?
3、要是不存在固定模式的面向对象的jsp+javabean+struts开发方法,我们可以自己造一个出来,把上面我说的两个“异类”特殊处理一下。路是人走出来的。我们也不担心走了弯路有人会骂我们。
好了,面向对象就说到这里,不对的地方还望多指教。