随笔-54  评论-0  文章-2  trackbacks-0

 

Struts1.x的深入
1. Struts1.x是Apache软件基金下Jakarta项目的一个子项目,目前Struts的最新版本是Struts1.4
。学习Struts,不仅是因为他占据了当今的主流市场,还因为他开源,可以学习底层代码,还可以重用

2.Struts中使用技术
http
CGI
Java servlet
Jsp
jsp标签
JavaBean
Model2(JSP+Servlet+JavaBean)

3.Struts分为三层:Controller 有servlet充当
Model 有JavaBean担任 
View 有jsp担任
4.Struts开发环境的搭建
JDK 服务器
5.Struts使用的标签库

下面开始今天的主体:

6.手工搭建Struts

1.新建web工程
2.添加jar包,网上下个Struts的压缩包struts-1.3.10-all.zip,解压后将其lib目录下的所有jar导入当前工程的/WEB-INF/lib目录下
3.定义视图 login.jsp

4.定义javaBean接收表单参数,该javaBean必须继承ActionForm
注意该javaBean中的属性要和表单中参数一致,比如
我在表单中有:<input type="text" name="username" value="">用户名</input>
那我在javaBean中必须的setUsername和GetUsername方法

5.新建控制器 LoginAction ,继承Action ,要重写execute方法
在该方法中
LoginForm loginForm = (LoginForm) form;
String username = request.getParameter("username");
String psw = request.getParameter("psw");
return
6.配置web.xml
7.配置struts-config.xml    

**************************************************************************************************************

 8. Struts的启动过程

服务器启动的时候,加载ActionServlet,调用ActionServlet的init方法,读取

struts-config.xml文件,在内存中(ServletContext)中已经存在

9.Struts的运行过程

客户端请求/login.do,转到struts的中央控制器ActionServlet,ActionServlet解析请求路径/login ,ActionServlet解析请求路径/login

ActionServlet在Struts-config。xml文件中查找Action节点(根据path(action的唯一标志)属性)中path属性的值为/login的Action节点,ActionServlet根据name属性的值,找到form-bean标签,读取type属性的值,创建该formBean的实例,把页面的提交过来的数据封装到FormBean的对象中

Struts1.x的深入
1. Struts1.x是Apache软件基金下Jakarta项目的一个子项目,目前Struts的最新版本是Struts1.4
。学习Struts,不仅是因为他占据了当今的主流市场,还因为他开源,可以学习底层代码,还可以重用

2.Struts中使用技术
http
CGI
Java servlet
Jsp
jsp标签
JavaBean
Model2(JSP+Servlet+JavaBean)

3.Struts分为三层:Controller 有servlet充当
Model 有JavaBean担任 
View 有jsp担任
4.Struts开发环境的搭建
JDK 服务器
5.Struts使用的标签库

下面开始今天的主体:

6.手工搭建Struts

1.新建web工程
2.添加jar包,网上下个Struts的压缩包struts-1.3.10-all.zip,解压后将其lib目录下的所有jar导入当前工程的/WEB-INF/lib目录下
3.定义视图 login.jsp

4.定义javaBean接收表单参数,该javaBean必须继承ActionForm
注意该javaBean中的属性要和表单中参数一致,比如
我在表单中有:<input type="text" name="username" value="">用户名</input>
那我在javaBean中必须的setUsername和GetUsername方法

5.新建控制器 LoginAction ,继承Action ,要重写execute方法
在该方法中
LoginForm loginForm = (LoginForm) form;
String username = request.getParameter("username");
String psw = request.getParameter("psw");
return
6.配置web.xml
7.配置struts-config.xml    

**************************************************************************************************************

 8. Struts的启动过程

服务器启动的时候,加载ActionServlet,调用ActionServlet的init方法,读取

struts-config.xml文件,在内存中(ServletContext)中已经存在

9.Struts的运行过程

客户端请求/login.do,转到struts的中央控制器ActionServlet,ActionServlet解析请求路径/login ,ActionServlet解析请求路径/login

ActionServlet在Struts-config。xml文件中查找Action节点(根据path(action的唯一标志)属性)中path属性的值为/login的Action节点,ActionServlet根据name属性的值,找到form-bean标签,读取type属性的值,创建该formBean的实例,把页面的提交过来的数据封装到FormBean的对象中

ActionServlet读取Action标签中的type属性的值,实例化Action(LoginAction),

自动调用action中的execute()方法

:ActionServlet会针对每一个<Action> 创建一个与之对应的ActionMapping

对象,ActionMapping对象中封装着<action>标签的属性信息

相信你也会有很多疑问:

* struts中的javaBean为什么要继承ActionForm?
* javaBean中属性的名称必须为什么和表单页面中组件的name属性的值相同?
* struts的页面表单的数据是怎么封装到javaBean中?
* 控制器组件为什么必须要继承Action
* 为什么重写execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)

* execute方法的四个参数是怎么传递的

下篇重写底层代码,以理解Struts底层实现!


posted on 2010-01-15 02:44 d66380022 阅读(1382) 评论(0)  编辑  收藏