Struts1第一天

struts1  --servlet+mvc
hibernate --JDBC
spring  
扩展内容:
 struts2 
 JMail
 Weblogic
 EJB
 工作流jBPM
 jQuery
 ...

 

struts1框架:

1 框架:
 针对某一类应用提供的通用解决方案。
 作用:
  提供给程序员一些基础代码(跟业务无关、实现较复杂的代码)
  开发效率会提高-在代码框架搭建成功之后
 先了解框架的核心思想
2 struts1的核心思想
 基于MVC模式,用于web层的开源框架。

3 MVC模式:
 view  :显示层
  作用:接受客户端用户的输入的数据
        显示系统内部信息给客户端
  技术:
   html   构建页面显示信息
   javaScript 对客户端的数据进行格式化校验
   jstl  逻辑分支语句控制
    <c:forEach>
    <c:if>
   el  获取数据并显示
    参数  ${param.参数名}
    属性  ${[**Scope.]属性名}
    对象的相关信息 ${pageContext.request}
   ajax  使用异步通信对象,在不刷新客户端页面的同时,访问服务器,并且局部更新客户端页面
 control :控制层
  作用:
   ****核心控制器:******
    *截获所有的请求/响应
     web.xml:
     *.abc ===== ControllerServlet

     [/dwr/* ==== DWRServlet]
    根据请求信息查找映射文件,找到其对应的真正处理类路径
     映射文件config.xml
      * ==== Servlet类路径
    *调用真正的处理类
     反射机制调用servlet中的服务方法
   具体的web处理类
    servlet:
     接收客户端输入的数据,并封装对象(实体模型)
     调用DAO(业务模型)进行持久化处理
 model  :模型层 
  作用:实体模型
   实体类----表结构
        业务模型
   DAO   ----数据访问对象

4 mvc的优缺点:
 优点:
  显示和模型解耦和
   多个显示可以共用一个模型
  系统调用流程易于管理和维护
 缺点:
  搭建框架导致代码量增大
  核心控制器类导致调用的效率降低

5 mvc的分类:
 model 1:
  jsp+javaBean
 model 2:
  jsp+servlet+javaBean


6 struts的实现:
 view
  html
  javaScript
  jstl
  el
  
  struts标签 --功能扩展
 control
  控制器类 --ActionServlet
  核心配置文件 --struts-config.xml
  具体web处理类 --Action
 model
  没有任何实现

7 struts编写流程


struts-config.xml文件首先在容器启动时,即被解析封装为ActionMapping对象
ActionMapping.findForward("逻辑名称"):ActionForward;
 ActionForward<===>request.getRequestDsiapcther("跳转路径").forward(req,resp);

 

页面--跳转----》页面
 违背了MVC的核心思想
 解决:
  编写一个共用处理类Action
   由Action转发系统内部资源
 struts解决:
  -------------------
  ForwardAction
  -------------------

  <action path="/addPage" type="org.apache.struts.actions.ForwardAction" parameter="/WEB-INF/page/add.jsp"></action>
  

客户端页面中参数的获取及类型转换
 ActionForm
  接受客户端页面form表单中的控件值


index.jsp----->ForwardAction---->add.jsp
add.jsp---/add.do--->AddForm---->AddAction

-------------------
forBean
-------------------
*FormBean的书写规则:
 1 必须继承ActionForm
 2 必须提供和页面form表单中控件名一样的属性
 3 类型可以自由设定
FormBean的配置方式:
 <form-beans>
  <form-bean name="formBean的逻辑名称" type="formBean的具体类路径">
 </form-beans>
 <action-mappings>
  <action path="客户端发出请求" type="Action的类路径" name="formBean的逻辑名称">
 </action-mappings>


add.do--->web.xml--->ActionServlet---->struts-config.xml---><action path...
---><action name属性 ---><form-bean name属性 --><form-bean type属性--><action type属性
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章