`
jxpengtao
  • 浏览: 65836 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

Struts学习笔记

    博客分类:
  • java
阅读更多
Struts学习笔记  

    http://topic.csdn.net/t/20040728/15/3218780.html
  --------------------------------------------------------------------
   
  需要的Struts包  
  从网上下载Struts的压缩包后,解开,把lib子目录下的所有.jar文件复制到自己应用程序的lib目录下。当然,或许有些用不到,但全放进来最起码不会出错。    
   
  web.xml配置文件  
  只要用Struts来搭建J2EE架构,web.xml的写法都差不多,我现在不用Struts的标签库,只用其最基本的功能,写法如下:    
   
  <?xml   version="1.0"   encoding="ISO-8859-1"?>  
   
  <!DOCTYPE   web-app  
      PUBLIC   "-//Sun   Microsystems,   Inc.//DTD   Web   Application   2.2//EN"  
      "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">  
   
  <web-app>  
  <display-name>Struts   Example   Application</display-name>  
   
      <!--   Action   Servlet   Configuration   -->  
      <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>  
          <load-on-startup>1</load-on-startup>  
      </servlet>  
   
   
      <!--   Action   Servlet   Mapping   -->  
      <servlet-mapping>  
          <servlet-name>action</servlet-name>  
          <url-pattern>*.do</url-pattern>  
      </servlet-mapping>  
   
   
      <!--   The   Welcome   File   List   -->  
      <welcome-file-list>  
          <welcome-file>index.jsp</welcome-file>  
      </welcome-file-list>  
   
   
  </web-app>  
   
   
  也就是说所有以.do为后缀的请求都将发往org.apache.struts.action.ActionServlet,这个类包含在struts.jar中。   至于/WEB-INF/struts-config.xml,这是Struts用的配置文件,文件名和路径也可以由用户自定义,其实我写的这个是Struts的默认配置,即如果省略这个参数,Struts会自动把/WEB-INF/struts-config.xml作为配置文件,也可以指定多个配置文件,不同的配置文件以逗号","隔开。    
   
  struts-config.xml  
  我们由简到难,先做一个空的struts-config.xml,再逐渐往里加功能,代码如下所示:    
   
  <?xml   version="1.0"   encoding="ISO-8859-1"   ?>  
   
  <!DOCTYPE   struts-config   PUBLIC  
                      "-//Apache   Software   Foundation//DTD   Struts   Configuration   1.1//EN"  
                      "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">  
   
  <struts-config>  
   
      <action-mappings>  
      </action-mappings>  
   
  </struts-config>  
   
       
  在以下的步骤我们就可以看到,我们如些向这个XML文件添加内容。其实空的文件连<action-mappings>也没有,但是这struts-config.xml里面最基本的标签,所以我先加进去了。    
   
  实现最简单的页面跳转  
  也就是说,我们要实现这么一个动作,它只是简单地从一个页面跳到另一个页面,功能和HTML页面中的静态链接完全一样。我们先在index.jsp中创建这么一个链接:    
   
      <a   href="jump.do">点这里跳转到别的页面</a>  
       
  然后在struts-config.xml中的<action-mappings>标签中加入如下<action>标签:    
   
          <action         path="/jump"  
                          forward="/success.jsp">  
          </action>  
       
  OK,这个最简单的功能就实现了。其中,path属性表示客户端传来的链接请求,注意,这里并没有.do后缀。forward自然就是跳转的目标页面了。  
   
  使用Servlet  
  我们先实现一个最简单的Servlet,它只是返回一个字符串“Hello,   I   come   back!”给客户端,其代码如下:    
   
  //UseServlet.java  
  import   javax.servlet.http.HttpServletRequest;  
  import   javax.servlet.http.HttpServletResponse;    
  import   org.apache.struts.action.Action;  
  import   org.apache.struts.action.ActionForward;  
  import   org.apache.struts.action.ActionMapping;  
  import   org.apache.struts.action.ActionForm;  
   
  public   class   UseServlet   extends   Action   {  
   
  public   ActionForward   execute(ActionMapping   mapping,  
    ActionForm   form,  
    HttpServletRequest   request,  
    HttpServletResponse   response) throws   Exception    
  {  
  request.setAttribute("test_value",   "Hello,   I   come   back!");  
  return   mapping.findForward("return");  
  }  
   
  }  
  Servlet必须是org.apache.struts.action.Action的子类并重载execute方法,execute方法返回一个org.apache.struts.action.ActionForward类,用于返回相应页面。在本例中我们使用mapping.findForward("return")来返回这个对象,至于字符串"return",过会儿你可看到,这是我们定义在struts-config.xml中的一个标识。    
   
  然后是定义struts-config.xml的<action-mappings>中的相应标签如下:  
   
          <action   path="/servlet"    
          type="UseServlet"    
          scope="request">  
          <forward   name="return"   path="/servlet_test.jsp"/>  
          </action>  
       
  其中type属性表示要使用的Servlet,scopen表示有效范围,值得注意的是<forward>子标签,其中的name属性"return"和servlet最后的mapping.findForward()的参数一致。  
   
  最后在index.jsp相应的加入:  
   
          <a   href="servlet.do">点这里使用Servlet</a>  
       
  使用数据库  
  我们可以直接在struts-config.xml中的<struts-config>中指定数据库连接,方式如下:    
   
    <data-sources>  
        <data-source>  
            <set-property   property="autoCommit"  
                                              value="false"/>  
            <set-property   property="description"  
                                              value="Example   Data   Source   Configuration"/>  
            <set-property   property="driverClass"  
                                              value="sun.jdbc.odbc.JdbcOdbcDriver"/>  
            <set-property   property="maxCount"  
                                              value="4"/>  
            <set-property   property="minCount"  
                                              value="2"/>  
            <set-property   property="password"  
                                              value=""/>  
            <set-property   property="url"  
                                              value="jdbc:odbc:test"/>  
            <set-property   property="user"  
                                              value=""/>  
        </data-source>  
    </data-sources>  
       
  本例中我使用的是JDBC-ODBC数据库连接,你需要事先建一个名为test的ODBC连接。然后你就可以在Servlet中以如下方式得到数据库连接:    
   
  javax.sql.DataSource   dataSource   =   getDataSource(request);  
  java.sql.Connection   conn   =   dataSource.getConnection();  
  你可以在</data-sources>中定义多个数据库连接,例如:    
   
  <data-sources>  
        <data-source   key="A">  
              ...   properties   as   before   ...  
        </data-source>  
        <data-source   key="B">  
              ...   properties   as   before   ...  
        </data-source>  
        ...  
  </data-sources>  
  然后以如下方式取得数据库连接:    
   
              dataSourceA   =   getDataSource(request,   "A");  
            dataSourceB   =   getDataSource(request,   "B");  
分享到:
评论

相关推荐

    struts学习笔记

    ### Struts学习笔记详解 #### 一、Struts框架概览与编码设置 在学习Struts框架时,首要关注的是其编码配置。如代码片段所示,`struts.i18n.encoding`常量被设置为`UTF-8`,这确保了国际化(I18N)资源文件的正确...

    struts学习笔记(四)

    在本“Struts学习笔记(四)”中,我们将会深入探讨Struts框架的核心概念、工作原理以及如何实际运用到项目开发中。 首先,Struts框架的核心目标是提供一个结构化的开发环境,将业务逻辑、数据处理和用户界面有效地...

    [摘]Struts 学习笔记之ActionForm

    博客文章"Struts学习笔记之ActionForm - xiaodaoxiaodao——蓝小刀的自言自语 - BlogJava.mht"可能包含更深入的实践示例和经验分享,包括如何处理ActionForm的生命周期、动态Form Beans、国际化等话题。通过阅读这篇...

    struts学习笔记(4)

    ### Struts 学习笔记(4):深入理解 OGNL 表达式与 Struts2 标签 #### 一、OGNL 表达式简介 **OGNL**(Object Graph Navigation Language)是一种功能强大的表达式语言,在 Struts2 框架中扮演着非常重要的角色。...

    struts 学习笔记(全)

    入门级的struts,适合新手入门

    j2ee平台框架Struts学习笔记

    Struts是Java EE平台上的一款流行开源MVC框架,...学习Struts不仅有助于理解MVC模式,也能为其他类似的Web框架打下坚实的基础。通过深入研究和实践,开发者可以充分利用Struts的特性,构建出高效、稳定的Web应用程序。

    Struts 学习笔记 Struts 中扩展JfreeChart 笔记

    Struts是Apache软件基金会下的一个开源框架,主要应用于Java Web应用程序的开发,它提供了一种组织应用程序代码的方式,使得开发者可以更有效地构建基于MVC(Model-View-Controller)架构的Web应用。JfreeChart则是...

    struts 学习笔记

    Struts是一个开源的JavaEE框架,它主要用于构建基于MVC(Model-View-Controller)设计模式的Web应用程序。Struts的出现旨在简化使用Servlets和JSP开发可...学习Struts有助于开发者更有效地构建和管理大型的JavaEE项目。

Global site tag (gtag.js) - Google Analytics