Struts快速学习指南17(内部培训教材)-大部分素材来自于《Programming Jakarta Struts》一书

类别:Java 点击:0 评论:0 推荐:

--创建区域表

CREATE TABLE SITES (

   SITECODE VARCHAR2(10) NOT NULL,

   SITENAME VARCHAR2(30) NOT NULL

);

--添加主键

ALTER TABLE SITES

       ADD  ( CONSTRAINT SITES_PKSITECODE PRIMARY KEY (SITECODE)

       USING INDEX ); 

--创建项目信息表

CREATE TABLE PROJECTS(

   PROJECTCODE VARCHAR2(10) NOT NULL,

   PROJECTNAME VARCHAR2(30) NOT NULL,

   SITECODE VARCHAR2(10) NOT NULL,

   DISCOUNT NUMBER NULL

);

--添加主键索引

ALTER TABLE PROJECTS

       ADD  ( CONSTRAINT PROJECTS_PKPROJECTCODE PRIMARY KEY (PROJECTCODE)

       USING INDEX ); 

--添加外键索引

CREATE INDEX FK_PROJECTSSITECODE ON PROJECTS

(

       SITECODE  ASC

);

--添加外键约束

   ALTER TABLE PROJECTS

       ADD  ( CONSTRAINT FK_PROJECTSSITECODE

              FOREIGN KEY (SITECODE)

                             REFERENCES SITES ) ;

 

1.1  命名规范

1、  所有jsp,action映射路径均为小写字母,如有需要可以使用小写字母+数字:例如:
/projectlist,/projetlist.jsp

2、  所有<html:form>中的元素(如文本框,列表框等)名称都使用java规范的变量命名方式(变量由一个或多个单词组成,第一个单词小写,第一个单词后的单词首字母大写),例如:
<html:text styleClass="input" maxlength="10" property="projectCode" size="30"/>

3、  其它方面均遵守SUN推荐的编码规范。

1.2  文件 1.2.1           projectlist.jsp

该jsp页面用来显示项目信息列表,并提供查询功能。同时,提供按钮将用户导向到添加、修改、删除功能。

1.2.2           projectform.jsp

在执行添加、修改操作之前,需要提供一个form供用户输入数据,在执行删除操作之前,需要提供一个form将被删除数据显示出来,供用户确认。该jsp页面就是用来满足这些需要,提供对单条项目信息的显示,根据具体的操作类型(创建、修改、删除),数据被显示在可编辑的输入控件中或不可编辑的label(文本标签)上。

1.2.3           success.jsp

添加、修改、删除等操作正常完成后,提供一个页面显示“恭喜”信息,使得用户能够清楚知道自己的行为已经生效J。

1.2.4           failed.jsp

添加、修改、删除等操作异常失败,提供一个页面显示“失败”信息,使得用户能够清楚知道自己的行为已经失败L。

1.2.5           ProjectListSearchAction.java

“Project”+”List”+”Search”+”Action”,组成了这个Action的名字,这是我个人的命名风格,表示这个Action会处理项目列表和查询事务。在projectlist.jsp被装载之前,ProjectListSearchAction需要将数据加载到scope指定的地方,供projectlist.jsp显示,当用户从projectlist.jsp中提交查询请求,该Action需要处理查询,并加载数据,供projectlist.jsp显示。

1.2.6           ProjectFormLoadAction

这个Action用来处理在显示projectform.jsp之前,将所需要的数据加载到scope指定的范围中,供projectform使用。

 

1.2.7           ProjectFormSaveAction.java

这个Action用来处理用户在projectform.jsp中提交的数据,根据用户的操作类型,完成具体的操作,并将合适的提示页面(success.jsp or failed.jsp)显示给用户。

1.2.8           web.xml

在Struts安装那一节,我们已经知道web.xml文件的作用,通过这个文件,我们可以将ActionServlet配置好,用以截获用户对Struts应用的访问请求。下面是示例程序所用的web.xml内容:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

  <display-name>simpledemo</display-name>

  <description>Demo for using STRUTS to do some thing about CRUD(Create,Read,Update,Delete) and any more....</description>

  <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>

    <init-param>

      <param-name>debug</param-name>

      <param-value>2</param-value>

    </init-param>

    <load-on-startup>2</load-on-startup>

  </servlet>

  <servlet>

    <servlet-name>debugjsp</servlet-name>

    <description>Added to compile JSPs with debug info</description>

    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>

    <init-param>

      <param-name>classdebuginfo</param-name>

      <param-value>true</param-value>

    </init-param>

    <load-on-startup>3</load-on-startup>

  </servlet>

  <servlet-mapping>

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

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

  </servlet-mapping>

  <servlet-mapping>

    <servlet-name>debugjsp</servlet-name>

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

  </servlet-mapping>

  <session-config>

    <session-timeout>20</session-timeout>

  </session-config>

  <welcome-file-list>

    <welcome-file>projectsearch.do</welcome-file>

  </welcome-file-list>

  <taglib>

    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>

  </taglib>

  <taglib>

    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>

  </taglib>

  <taglib>

    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>

  </taglib>

  <taglib>

    <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-template.tld</taglib-location>

  </taglib>

  <taglib>

    <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>

  </taglib>

  <taglib>

    <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>

  </taglib>

</web-app>

本文地址:http://com.8s8s.com/it/it16528.htm