struts1 底层封装的是servlet,在MVC中是处于控制层,即分发请求。
1.用WEB.xml配置外部映射和内部映射,配置前端控制器和后端控制器,配置将config.xml封装成config的参数,在服务器一启动的时候,就读取xml中的数据,放到内存中
2.在config.xml中主要用来配置后端控制器。前端控制器是actionServlet,它是框架内部已经实现好的,很少露面,但是很重要。后端控制器是action
3.将JSP这个显示层的东西,封装成actionForm这个对象的子类,作为参数传进Actoion
4.在config.xml中,actionFormbean 这个节点元素是jsp的封装
5.actionFord这个对象是未来请求的跳转方向和路径,通过mapping可以获得。
6.在config中配置有action Formbean 的标签,配置有action的标签,path即未来什么样的请求可以接受。type action的类型,name Action的全部名称。scope这个actionFormbean需要放置在什么域中,一般系统自动默认来设置actionForm的域。
7.检验,需不需要检验,true或者false.检验时用action自带的框架来校验。
8.validate方法需要复写,在config.xml文件中,是否需要检验是true或者false.返回值是actionErrs.
9.atrribute是用来存取form关键字的,缺省值和name一样。
9.input当表单验证失败时将请求转发的URL。
10.全局跳转,<global-forward path="error">
11.ationMessage是一个可以携带跳转信息的类
11.它的特点多线程情况下是异步执行,即数据不安全行提高了。与struts2比较,struts2是支持同步,即在多线程的情况下数据是安全的。
二 如何自己写一个山寨版的struts1呢?
里面核心是用到两个技术
1.反射和内省技术
2.读取和解析xml技术。
三 struts的标签库
1.bean标签,用来管理bean. struts-bean.tld.
2.逻辑标记:用来在JSP叶中控制流程。struts-logic.tld.
3.html标记:用来生成html标记,在表单中显示数据,使用会话ID对URL进行编程。
4、titiels标记:使用动态模版构造普通格式的页。
例如:
Bean define
从已有的变量或者变量的属性定义一个新的变量
search: from where who which property(从哪个域中找哪个对象的哪个属性)
Define evaluate : the name of the variable newly created........id,which is required(id标记的这个新的变量需要赋值)
save: to place toScrope.