传智播客java学习--struts初步

今天是第一天接触框架的知识,学习struts,我非常感兴趣:

 

Struts使用的标签库:

l       struts-bean.tld:  bean标签的描述文件,bean标签用于访问JavaBeans和它们的关联属性,也可以用于定义新的Bean

l       struts-html.tld:  html标签的描述文件,html标签主要用来创建Html输入表单的标记符

l       struts-logic.tld: logic标签的描述的文件,logic标签用于管理对输出内容条件判断,从一个集合对象中循环取出内容等以及应用程序的流程管理

l       struts-nested.tld: nested标签的描述文件,又称嵌套标签,使用嵌套属性可以自由的访问任一层的bean属性

l       struts-template.tld: 这个template标签库的描述文件,对于共享通用格式的页面创建动态JSP模版是有用的,一般我们不用

l       struts-tiles.tld: tiles标签的描述文件,只有我们在工程中加入了titles组件时才会用到,titles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离。它允许先创建模板,然后在运行时动态地将内容插入到模板中。

 

 

 

Struts 的配置元素:

data-sources    包含DataSource 对象(JDBC 2.0 Standard Extension)的集合.

data-source      标识一个DataSource 对象,它可以被实例化,和进行配置,并在servlet 上下文中作为一个属性 (或

者在application-scope 的bean 中).

set-property     标识一个额外的JavaBean 配置属性的方法名称和初始化值。

global-exceptions     描述一个可以被Action 对象抛出的异常的集合

exceptions       为一个异常类型注册ExceptionHandler

form-beans      描述这个应用模块中的form bean 描述符集合

form-bean       描述一个可以被<action>元素引用的ActionForm 子类

form-properties       描述一个 JavaBean 属性, 可用来配置一个DynaActionForm 实例或者其子类

global-forwards       描述对所有Action 对象都可以作为返回值的ActionForward 对象集合

forward    描述一个可以被Action 作为返回值的ActionForward对象

action-mappings      描述一个可以用来处理匹配ActionServlet 注册到容器的url-pattern 格式的请求的ActionMappings 对

象集合

action       描述一个ActionMapping 对象,可以用来处理一个对特定的模块相关的URI 的请求

controller  描述一个封装了应用模块运行时配置的控制器配置bean

message-resources  描述该模块的消息模板一起配合使用的消息资源MessageResources 对象

 

 

一、             利用Struts开发一个登陆程序的步骤:

   *  创建web工程  itcaststruts1009

   *  引入struts需要的jar包

   *  创建登陆页面login.jsp  action定义为*.do的格式

   *  创建JavaBean(ActionForm) 要求:

         * actionForm中属性的名称必须和表单中组件的名称(name属性的值)一致

         * 该javaBean必须要继承ActionForm

   * 创建LoginAction extends Action (Action是Struts中央控制器的一部分)

         * 必须重写

         public ActionForward execute(ActionMapping mapping, ActionForm form,

                       HttpServletRequest request, HttpServletResponse response)

  

   * 在web.xml配置struts的中央控制器(ActionServlet),struts中只有这么一个Servlet                

                      <!-- 配置Struts的中央控制器ActionServlet

                              在目前的struts版本中只能配置一个ActionServlet

                             任何请求都要经过Struts的中央控制器     

                        -->

                        <servlet>

                         <servlet-name>action</servlet-name>

                         <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

                         <!-- 配置初始化参数 -->

                         <init-param>

                           <param-name>config</param-name>

                           <param-value>/WEB-INF/struts-config.xml</param-value>

                         </init-param>

                         <!-- 服务器启动的时候加载ActionServlet 值越小启动越靠前 -->

                         <load-on-startup>0</load-on-startup>

                      </servlet>

                    

                    

                       <!-- 配置ActionServlet的映射 -->

                       <servlet-mapping>

                         <servlet-name>action</servlet-name>

                          <!-- 只要客户短的请求是*.do的格式,就要提交给Struts的中央控制器ActionServlet -->

                         <url-pattern>*.do</url-pattern>

                       </servlet-mapping>

                      

       *   配置struts-config.xml文件

         

                     <struts-config>

                               <form-beans>

                               <!--

                                   name:表示formBean的唯一标志

                                   type:formBean的完全路径

                                -->

                                 <form-bean name="loginForm" type="com.itcast.struts.form.LoginForm"></form-bean>

                               </form-beans>

                           

                               <!-- action-mappings一个集合表单这个标签中包含多个action标签 -->

                               <action-mappings>

                               <!--

                                  path:表示action的唯一标志 跟页面action的对应如下

                                      <form action="${pageContext.request}/login.do" method="post">

                                      login.do的.do去掉,在login前面加上/ 形成path属性的值/login

                                  name:表示使用的制定的FormBean存储表单传递过来的数据

                                  scope:制定FormBean的作用域

                                  type:制定action的完整路径名 com.itcast.struts.action.LoginAction

                                -->

                                   <action path="/login" name="loginForm" scope="request"

                                           type="com.itcast.struts.action.LoginAction">

                                                                       <!--

                                               name:forward标签的唯一标志

                                               path:表示要执行的路径(默认值为转发)

                                               -->

                                              <forward name="success" path="/success.jsp"></forward>

                                              <forward name="error" path="/error.jsp"></forward>   

                                  

                                   </action>

                                  

                               </action-mappings>

               </struts-config>

 

 

总结

通过今天的学习,我知道如何配置一个struts的应用程序,配置其实并不难,重要的的是要了解struts的原理,和servlet不一样,在struts中,多个页面只提交到一个ActionServlet进行处理,ActionServlet相当于一个中央控制器,服务器启动时,加载struts的配置文件:WEB-INF/struts-config.xml ,里面配置了formbean和action,通过配置这些元素,自己写的forml类要继承ActionForm,自己写得Action类要继承Action类,这样就可以运行Struts程序了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值