随笔-60  评论-117  文章-0  trackbacks-0
成心给自己 放个假,在宿舍里呆了两天,没事和她们逛逛街,到处走走。这本是在学校里很平常的事。可是只两天我却呆够了,觉得还是加加班心理比较舒服。

mvc设计模式:
mvc是一种设计模式,他强制性的把应用程序的输入、处理和输出分开。mvc把应用程序分成三个核心模块:
模型、视图和控制器,它们分别承担不同任务。
视图:
视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。
模型:
模型是应用程序的主体部分。模型时表示业务数据和业务逻辑。一个模型能为多个视图提供数据。
控制器:
控制器接受用户的输入并调用模型和视图去完成用户的需求。当web用户单击web页面中的提交按钮来发送html表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。
struts概述:
struts是一个基于sun j2ee平台的mvc框架,主要是采用servlet和jsp技术来实现的。struts把servlet,jsp,自定义标签和信息资源(message  resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套mvc模式,极大的节省了时间,所以说struts是一个非常不错的应用框架。当前struts只是1.1版。
学习struts框架主要部分:
  • struts 控制器
  • struts视图
  • struts配置
  • 标签库
  • xml配置文件

ActionServlet类:
ActionServlet是mvc实现的command部分,它是这一框架的核心。ActionServlet(Command)创建并使用Action,ActionForm和ActionForward。使用struts-config.xml文件配置该Command。在创建web项目时,您将扩展Action和ActionForm来解决特定的问题。文件struts-config.xml定义了ActionServlet如何使用这些扩展的类。

ActionServelet类的优点:
  • 应用程序的整个逻辑流程都存储在一个分层的文本文件中。这是的人们更容易察看和理解它,尤其是对于大型应用程序而言。
  • 网页设计人员不必费力地阅读java代码来理解应用程序的流程。
  • java开发人员也不必在更改流程以后重新编译代码。

ActionForm类:
ActionForm维护web应用程序的会话状态。ActionForm是一个抽象类,必须为每个输入表但模型创建类的子类。可以说ActionForm表示的是由html表但摄制或更新的一般意义上的数据。
ActonForm类调用:

  • 检查ActionForm是否存在;如果不存在,它将创建该类的一个实例。
  • struts将使用httpServletRequest中相应的域设置ActionForm的状态。没有太多的request.getParameter()调用。
  • struts框架在将ActiomForm传递给业务包装Action之前将更新他的状态。
  • 在将它传递给Action类之前,struts还会对ActionForm调用validate()方法进行表单状态验证。

Action类:
Action类是业务逻辑的一个包装。Action类的用途是将HttpServletRequest转换为业务逻辑。要使用Action,创建它的子类并覆盖execute()方法。

ActionForm与Action的联系:
  • struts-config.xml文件控制html表单请求与ActionForm只见的映射关系。
  • 可将多个请求映射到ActionForm。
  • ActionForm可跨多页进行映射,以执行诸如向导之类的操作。

配置struts应用
主要的配置文件:

  • web.xml文件以及它在web应用中的作用,struts的启动配置。
  • struts-config.xml文件,使用struts框架开发配置。

配置Servlet

  • <servlet>
  • <servlet-name>action</servlet-name>
  • <servlet-class>org.apache.struts.action.ActionServlet
  • </servlet-class>
  • <init-param>
  • <param-name>config</param-name>
  • <param-value>/WEB-INF/struts-config.xml</param-value>
  • </init-param>
  • <load-on-startup>1</load-on-startup>
  • <servlet>
  • <servlet-mapping>
  • <servlet-name>action</servlet-name>
  • <url-pattern>*.do</url-pattern>
  • </servlet-mapping>

配置欢迎页面:

  • <welcome-file-list>
  • <welcome-file>hello.jsp</welcome-file>
  • </welcome-file-list>

配置标签库:

  • <taglib>
  • <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
  • <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  • </taglib>

配置错误处理页面:

  • <error-page>
  • <exception-type>java.lang.ArithmeticException<exception-type>
  • <location>/error/ExceptionPage</location>
  • </error-page>

配置数据源:

  • <data-sources>
  • <data-source key="dataSource">
  • <set-property property="driverClassName"value="driverClassName"/>
  • <set-property property="url" value="url"/>
  • <set-property property="password"value="password"/>
  • </data-source>
  • </data-sources>
  • <data-sources>
  • <!--configuration for commons BasicDataSource--">
  • <data-source type="org.apache.commons.dbcp.BasicDataSource">
    <set-property property="driverClassName" value="org.postgresql://localhost/mydatabase"/>
  • <set-property property="username"value="me"/>
  • <set-property property="password"value="test"/>
    <set-property property="maxActive"value="10"/>
    <set-property property="maxWait" value="5000"/>
  • <set-property property="defaultAutoCommit"value="false"/>
  • <set-property property="defaultReadOnly"value="false"/>
    <set-property property="validationQuery"value="SELECT COUNT(*)/FROM market"/>
  • </data-source>
  • </data-sources>

使用数据源:

  • dataSource=getDataSource(request);
  • cnn=dataSource.getConnection();
  • dataSourceA=getDataSource(request,"A");
  • dataSourceB=getDataSource(request,"B");


posted on 2007-05-03 11:30 静儿 阅读(693) 评论(5)  编辑  收藏

评论:
# re: struts 2007-05-03 12:51 | cresposhi
struts啊struts,还有很多在MVC方面做的更好的framework推荐去看看  回复  更多评论
  
# re: struts 2007-05-03 15:55 | 我们走在JAVA的光明大道上
成心给自己 放个假,在宿舍里呆了两天,没事和她们逛逛街,到处走走。这本是在学校里很平常的事。可是只两天我却呆够了,觉得还是加加班心理比较舒服。

太有同感了,五一长假,实在是闲得每天睡到自然醒,醒后数钱数到手抽筋,抽完筋后再睡觉,又是睡到自然醒。。。。。唉!  回复  更多评论
  
# re: struts[未登录] 2007-05-03 21:55 | 菜鸟
就是还没搞明白在Eclipse里怎么自动创建一个ActionForm  回复  更多评论
  
# re: struts 2007-05-04 10:05 | 静儿
@菜鸟
自动创建ActionForm的话,你可以在工程上点击右键,选择new,出来一个选项表,你选struts1.1(好像现在用1。1版本的比较多)里的struts1.1Form,Action&JSP,然后一步步设定,就可以自动创建了。不妨试一下。  回复  更多评论
  
# re: struts 2009-09-24 14:54 | 达飞Plus
strutsは始めます。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: