struts2(一)

1.MVC
model:模型层:(vo,service业务层,dao数据访问层);
 dao层常用技术:JDBC,数据库连接池(dbcp,c3p0,alibaba),commons-dbutils,hibernate,mybatis。
 
view:视图层:js,css,img,html,jsp,freemarker/jquery/extjs/easyui/dwr/prototype...
controller:控制层:
 常用的技术:servlet,struts2,springmvc,jfinal(控制层、数据访问层)


spring:统一管理各层面的数据。

2.struts2环境搭建:
 1)导入struts2使用的jar包;
 2)在web.xml中配置核心控制器StrutsPrepareAndExecuteFilter。
  init():初始化资源(配置文件,常量信息等等),读取struts配置参数。
  doFilter():拦截全部的http请求参数,调用拦截器组件,调用action组件,调用result组件。
  destory():销毁资源。 
 3)创建struts.xml(src下面)并做配置:  
   <package name="helloWorld" namespace="/aa" extends="struts-default">
    <action name="helloWorld" class="com.chinasofti.action.HelloWorldAction">
     <result name="success">/first/helloWold.jsp</result>
    </action>
       </package>
 4)jsp页面(url组成 :项目名+namespace+action别名+.action)。
 5)action内部一定要有execute()方法(默认执行),返回一个字符串。
3.struts2工作流程
 1)web容器启动,调用核心控制器的init()方法,做初始化操作(加载配置信息、常量信息并将其封装到一个javaBean中);
 2)当客户端发起http请求,核心控制器收到请求后,由ConfigurationManager去封装的javaBean(struts.xml)中去查找对应请求, 通过ActionInvocation处理action相关的信息;
 3)执行struts2内部一个个拦截器;
 4)进入action类中执行对应的方法(如果指定method方法则执行相应method方法,否则执行默认execute方法),处理完成后返回一个字符串信息;
 5)逆向执行一遍拦截器;
 6)根据封装的javaBean(struts.xml)中的配置信息,去查找业务方法执行完成后返回的字符串所对应的资源;
 7)将所对应的资源呈现给用户。
4.属性驱动模型
 在action类中,直接使用实体bean对象类型或成员变量来接收用户提交的表单数据;
 要求在视图层表单中name的属性值为bean对象名称.对象的属性名称或成员变量名。
 
5.调用action中特定业务方法,不执行默认的execute方法:
 在action标签中,配置method属性,指定action类中某个方法的名称。

posted on 2017-03-28 08:09  知止而后有定  阅读(140)  评论(0)    收藏  举报

导航