STRUTS的控制流程

来源:互联网 发布:手机淘宝上如何使用券 编辑:程序博客网 时间:2024/05/22 16:41

2.struts的控制流程

ActionServlet类

它是Structs应用程序的核心,它是主要的控制组件,用于处理客户端请求,决定哪一个Action类处理每个接收到的请求。ActionServlet类,实质就是一个简单的servlet,和HttpServlet很相似,它继承自HttpServlet类,并且也实现了HttpServlet的生命周期方法,init,doGet,doPost,destroy。

 

所有指定的行为都起源于ActionServlet类的process()方法,它处理所有的请求。

 

ActionServlet接收到请求后,按照下面的步骤走:

1)doPost或者doGet收到请求并调用process方法。

2)process方法取得当前的RequestProcessor,然后调用它的process方法。

3)RequestProcessor.process()方法是所有请求得到真正处理的地方。这个方法从struts-config.xml文件找到<action>元素,取得它符合提交请求的路经。这个路经一般是用<html:form/>标记的action属性指定的。

4)如果process方法找到匹配的<action>,就会找到<form-bean>(其中的name属性和<action>元素的name属性一致)。

5) process()方法知道FormBean的完整命名后,会创建或者取得一个ActionForm的缓冲实例,这个ActionForm的命名由<form-bean>元素的类型属性命名,然后将请求中提交的值填入这个实例中。

6) 填充完数据后,process方法调用ActionForm的validate方法,对提交的值进行验证。

7)这时,process方法就可以开始处理请求了。它从<action>元素的type属性取得完整的Action类名,然后创建这个类,然后调用这个Action子类的execute方法。

8)Action类从processing返回后,execute方法返回一个ActionForward对象,这个对象用于确定这个事务处理的目标。process方法继续控制,请求也会被转发到确定的目标。

9)到这里,ActionServlet实例就完成了它处理请求的过程,并且已经准备好了为将来的请求进行服务。

5.JAVA控制台读取一个(姓名):你意思是在控制台输入姓名吗?
LianXi19类在控制台读入的类。TestLianXi19是其测试类,运行测试类,你想在控制台读入什么都可以,随便你!
package com.test;

importjava.io.*;
public class LianXi19 {

public  String read() throws IOException{
byteaa[]=newbyte[128];
Stringstr=newString(aa);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
                  str = in.readLine();
               
                  return str;
                

 

}
}

package com.test;
import java.io.*;
public class TestLianXi19 {

/**
 * @param args
 */
public static void main(String[] args) {
try{
LianXi19 a = new LianXi19();
System.out.println(a.read());

}catch(IOException e){
System.out.println(e);
}

}
}
7.SQL的连接查询:不知道你是要sqlserver的还是要Oracle的?不知道你是要左连接,内连接还是什么连接!
select * from
table1 left join table2 on table1.col1=table2.col1

table1 left outer join table2  on table1.col1=table2.col1

table1 inner join table2 on table1.col1=table2.col1 

原创粉丝点击