JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JSP技术--开发工具  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
IBM WSAD 创建WEB应用程序
作者:     文章来源:
访问次数:94次     加入时间:2007年04月07日
IBM WebSphere Studio Application Developer Workshop ?C 上机练习

创建WEB 应用程序

关于本次练习

WebSphere Studio Application Developer 提供了一个集成且易用的开发环境。该环境完全遵循J2EE标准。Workbench提供了向导与大量的工具,以快速的建立与测试包含HTML, JSPS, Servlets, EJBs, 和数据库连接的WEB应用程序。

必备知识

Lab1:在开始本练习之前,用户必须完成练习1。请参照练习1。用户必须安装了DB2(Version 7.2)和WebSphere Studio Application Developer。同时必须对JSPS, Servlets, EJBs有一个基本的了解。源代码文件放置在C:yourbanklab2.

收获

通过本次练习,您将理解利用WebSphere Studio Application Developer创建和测试包含TML, JSP, Servlet, 和JavaBean资源的WEB应用程序的基本步骤。您也将学会以下的WEB工具:Web Project creator, JavaBean (Java class) creator, 生成getters and setters的基本过程,JavaBean Web Pages 向导, JSP creation向导, Servlet creation向导, 导入一个压缩文件, 添加代码的编辑器, 添加Tables: list boxes; buttons JavaBeans的网页设计工具;与本地历史的文件比较,应用程序的发布,在Application Server.上运行WEB资源。

介绍

WebSphere Studio Application Developer 提供了各种工具以创建和集成各种资源。本次练习是创建和测试一个web 银行的应用程序。你将创建一个Web 工程 YourBankWebModule 包含了大量的资源。使用Java工具,你将建立一个名字为AccountHelper的JavaBean. 随后你将导入HTML input forms, Servlets, and JSPs 。通过利用JavaBean Web Pages向导,你将设计一个 HTML input forms 和一个放置结果的JSPs。本工程需要的WorkWithAccount JSP 和 InitialTransfer JSP均从外部导入。使用 Servlet 向导,你将创建TransferServlet. 利用Page Designer 完成以下的工作: 1)升级CreateAccountInputForm.html 2)创建TransferFunds.jsp. 你将导入一个提供框架的index.html和其他资源以测试该应用程序。

创建帐户

创建帐户包含一个HTML 网页以接受输入信息。当提交以后,调用 CreateAccountServletResults servlet,该servlet 调用 Account entity

bean 以创建一个帐户。通过一个JSP,创建成功的信息返回到浏览器。

转帐

转帐过程有点复杂,首先必须要将转帐的帐户输入到网页上,此网页调用WorkWithAccountServletResults servlet。该servlet使用Transfer session

EJB 来获取帐户的信息,帐户的信息通过一个JSP来显示。 添加一个按钮,当该按钮按下时,表明转帐过程开始,该按钮调用InitialTransfer JSP(显示转帐的目标帐户和转帐的数量)。当Transfer按钮按下时,TransferServlet servlet 被调用,转帐过程结束,同时,通过一个JSP,转帐的结果信息显示出来。

** 注 意 **解决方案在第九章的末尾部分。

 

练习教程

第一部分: Setup

__1. 从开始菜单启动 IBM WebSphere Studio Application Developer 。(开始 -> 程序 -> IBM WebSphere Studio Application Developer ->IBM WebSphere Studio Application Developer)。

__2. 单击窗口左部的Web Perspective窗口 (若Web Perspective没有打开,Perspective-->Open-->Other-->Web以打开它)。Web Perspective提供了大量的

菜单和图标以创建Web 部件。(注意:在窗口的左部,可以利用 ALT + Up Arrow 或 ALT +Down Arrow 切换到不同的打开的Perspectives.)


__3. 所有的web部件将被包含在一个Web工程文件里。 通过单击File -> New -> Web Project创建Web Project。(也可以通过单击工具栏上相应的按钮完成。)


__ 输入工程名: YourBankWebModule.;

__ 输入EAR工程名: YourBankEAR 然后单击Next;.

__ 选中 YourBankEJBModule 然后单击Next;

__ 单击Projects tab 可以发现 YourBankEJBModule 已经被选中,这意味着练习一中建立的Enterprise JavaBeans 也包含在Web工程的路径中;


__ 单击Finish。

 

第二部分:建立AccountHelper JavaBean

__1. 建立一个用来从servlet 到 JSP传递信息的JavaBean;.

__ 单击File --> New --> Other.... 在窗口中选择 Java 然后选择Java Class;


__ 单击Next;

__ 输入 /YourBankWebModule/source 作为Folder;

__输入com.ibm.yourbank.web.helper 作为Package;

__输入名字: AccountHelper;

__ 在Extended interface部分,单击Add....

__ 在Extended Interfaces 窗口中,输入serializable。 接口Serializable 显示出来;

__ 在Packages view中, 单击java.io - C:/Program Files/IBM/WebSphere StudioApplication Developer/plugins/com.ibm.etools.server.jdk/jre/lib/rt.jar.

__ 单击Add (将被添加到Extended Interface列表中) 然后单击OK;

__ 回到New Java Class窗口,单击Finish;

__2. 文件AccountHelper将被显示在Web Perspective的Editor view 中。你将需要添加一些私有的变量和方法;

__ 添加如下的变量到AccountHelper文件中;(注意:为了节省时间可以从 c:yourbanklab2snippet5.java中拷贝。)

private long accountNumber;

private float balance;

private String message;

private boolean success;

__ 单击Outline tab,转到JavaBean的Outline view;


__ 右键单击accountNumber 然后单击Generate Getter and Setter. 注意观察

getAccountNumber和setAccountNumber 是如何加到Javabean ;

__ 为其他三个变量(balance, message,success)生成Getter and Setter方法;

__ 保存并关掉该文件。 ( 应该总共生成四次Getter和Setter 方法);

__3. 生成test Client


__ 单击File -> New -> Other -> Web ->JavaBean Web Pages;(或者你可以单击Web Perspective工具栏上的Java Bean Web Pages wizard图标)


__ 在Create JavaBeans Web Pages窗口,单击Browse... ;

__ 展开YourBankWebModule单击webApplication,单击OK;

__ 在Java package field的右侧,单击Browse....;

__ 选中com.ibm.yourbank.web,然后单击 OK;

__ 在Store results部分,单击Session。在应用程序中,该Java bean将永远保持不变;

__ 单击Next;

__ 在Choose JavaBeans和Methods to Invoke window中,单击Browse...;

__ 在输入栏中输入AccountHelper;

__ 单击OK;

__ 单击Next ,在窗口中列出了不同的被触发的方法;

__ 在Design the Input Form窗口中,去掉success和message方法;注意到右边视图的变化;

__ 单击Page tab,改变网页标题为Create Account;


(同时,可以根据需要改变背景色、标题颜色和输入域的颜色)

__ 单击Fields tab,单击accountNumber 方法,改变标签为Account Number;

__ 单击Next;


__ 在Design the Result Form窗口中,去掉选中的方法success;


__ 单击Next;

__ 在Web page prefix域中,输入CreateAccount;


__在Design the Result Form窗口中,单击Finish;

__4. 转到Server Perspective,然后选中Servers view;

__ 右击YourBankServer 后单击Start;注意到在server 启动之前, YourBankWebModule 发布到server 的信息提示弹出;

__ 在Server Perspective 的Navigator视图中,展开YourBankWebModule, webApplication,WEB-INF。右击CreateAccountInputForm.html 后单击Run on Server;


__ Web Browser显示在Editor视图中,同时文件CreateAccountInputForm.html也将被显示。输入如下的值后单击提交。

__提交触发对servlet CreateAccountController的调用, 该servlet调用JavaBean AccountHelper 以 传值到Result JSP打印输入的数值;完成了对该JavaBean 测试;


__ 关闭Web Browser ;


__在Servers 视图中,右击YourBankServer instance后单击Stop;

 

第三部分:为Account EJB添加支持

__1. 随着以上功能的完成,我们可以为Account EJB添加支持

__ 转到Web perspective.

__ 展开YourBankWebModule --> source --> com --> ibm --> yourbank --> web;

__ 打开文件CreateAccountController.java;

__ 添加如下的import 语句到文件reateAccountController (注意:为节省时间可以从c:yourbanklab2snippet6.java中拷贝)

import java.rmi.RemoteException;

import javax.ejb.DuplicateKeyException;

import javax.naming.*;

import com.ibm.yourbank.ejb.Account;

import com.ibm.yourbank.ejb.AccountHome;

import com.ibm.yourbank.web.helper.AccountHelper;

__ 添加如下的声明到类CreateAccountController (注意:为节省时间可以从c:yourbanklab2snippet7.java中拷贝)

private AccountHome accountHome;

private String message;

private boolean createFlag;

static String failuredupkey = "Create failure - account already

exists:";

static String failureinternal = "Internal failure on server -

could not create account:";

static String failuredefault = "Exception occured:";

__ 添加如下的代码到类CreateAccountController中的方法performServices 开头 (注意:为节省时间可以从c:yourbanklab2snippet8.java中拷贝)。单击outline视图,可以快速的找到该方法;

try

{

Account account = AccountHome.create(Long.valueOf(

(String)request.getParameter ("accountNumber")).longValue());

Account.accountInitialize(Integer.valueOf ((String)request.getParameter

("AccountType")).intValue(), Float.valueOf

((String)request.getParameter("balance")).floatValue(),

(String)request.getParameter("accountOwner"));

message = "Account " +(String)request.getParameter("accountNumber") + "

created with a balance of " + (String)request.getParameter("balance") +

".";

}

catch (RemoteException e) {

message = failureinternal + e.getMessage();

createFlag = false;

System.out.println(failureinternal + e.getMessage() );

e.printStackTrace();

}

catch (DuplicateKeyException e) {

createFlag = false;

message = failuredupkey + e.getMessage();

System.out.println(failuredupkey + e.getMessage() );

e.printStackTrace();

}

catch (Exception e) {

createFlag = false;

message = failuredefault + e.getMessage();

System.out.println(e.getMessage() );

e.printStackTrace();

}

HttpSession session = request.getSession(true);

//Create Bean

com.ibm.yourbank.web.helper.AccountHelper bean = new

com.ibm.yourbank.web.helper.AccountHelper();

//Set Properties

bean.setMessage(message);

//Execute Bean Methods

//Place method results in the session

//Place Bean results in the session

session.setAttribute("CreateAccountBean", bean);

__用如下的代码替代CreateAccountController类中的init方法: (注意:为节省时间可以从c:yourbanklab2snippet9.java中拷贝)

public void init (ServletConfig config) throws ServletException

{

super.init(config);

try {

Context ctx = new InitialContext();

Object homeObject = ctx.lookup("ejb/Account");

accountHome = (AccountHome) javax.rmi.PortableRemoteObject.nar_

row(homeObject, AccountHome.class );

} catch (NamingException e) {

System.out.println("Account not Found!" + e.getMessage() );

e.printStackTrace();

throw new ServletException(e.getMessage());

} catch (Exception e) {

System.out.println( e.getMessage() );

e.printStackTrace();

throw new ServletException(e.getMessage());

}

}

__ 保存并关掉该文件;

注意: 此时在task视图中,应该有如下的exception :setMessage方法未定义;

__ 在类CreateAccountViewBean 添加setMessage方法 (注意:为节省时间可以从c:yourbanklab2snippet17.java中拷贝)

/**********************************************/

public void setMessage(String message) {

getBean().setMessage(message);

}

__保存并关掉该文件;此时该exception应该消失;

__ 打开文件Create AccountResults.jsp 单击source tab,去掉如下代码: 

<%@ page import="com.ibm.yourbank.web.CreateAccountViewBean" %>

__保存并关掉该文件;

__2. 在测试与Account EJB的交互之前, 首先修改文件CreateAccountInputForm.html.;


__ 打开文件CreateAccountInputForm.html;

__ 把光标放在放置balance 标签的单元格中;

__ 单击Table --> Add Row --> Add Below 为该表格添加一行;


__ 通过快捷键 Ctrl+Alt+Z为表格添加另外一行;

__ 在第一列的第三行与第四行分别添加如下的标签:Type和Account Owner;


__ 把光标放置在Type的右侧然后单击Insert --> Form and Input Fields--> List Box。你也可以通过单击工具栏上的相应的图标来完成;

__ List Box的attributes 窗口将被显示出来,指定名字为:AccountType;

__ 设置number 行为1;

__ 在Item域中指定为Savings;

__ 在Value域中指定为1;

__ 单击 Add;

__ 添加Checking 项并指定值为2;

__单击Clear. 完成了对list box 的设置;

__ 单击OK;


__ 把光标放置在Account Owner的右侧然后单击Insert --> Forms and

Input Fields --> Text Field;你也可以通过单击工具栏上的相应的图标来完成;__ attributes 窗口将被显示出来,指定名字为:accountOwner;

__ 单击OK.

__保存并关掉该文件;

__3. 至此,可以完全测试新建帐户过程;

__ 转到Server perspective;

__ 右击CreateAccountInputForm.html后单击Run on Server;

__ 刚才修改的Create Account窗体将显示在浏览器中;



__输入如下的值后单击提交;


__ 单击提交后,调用CreateAccountServletResults servlet ,该servlet查找 Account EJB对象,并生成一新的帐户,新的accountnumber, balance, 和建立成功的信息存储在一个bean中,然后由CreateAccountResults JSP生成如下的结果;


__ 关闭浏览器;

第四部分:生成转帐部分

__1. 下一步将生成一servlet以完成转帐功能,单击File --> New --> Other -> Web -> Servlet 或单击工具栏上的相应的图标;


__2. 在Folder 域中,单击browse 选择/YourBankWebModule/source.

__3. 在Package域中,单击browse 选择com.ibm.yourbank.web.


__4. 输入Servlet 名字为:TransferServlet.

__ 单击Next;

__ 单击Finish;

__5. 文件TransferServlet.java 显示在编辑视图中,加入如下的import语句:

 (注意:为节省时间可以从c:yourbanklab2snippet13.java中拷贝)

import com.ibm.yourbank.web.helper.AccountHelper;

import com.ibm.yourbank.ejb.Transfer;

import com.ibm.yourbank.ejb.TransferHome;

import com.ibm.yourbank.exception.InsufficientFundsException;

import java.rmi.RemoteException;

import javax.ejb.FinderException;

// JNDI (naming).

import javax.naming.*;

import java.io.*;

import java.servlet.*;

import javax.servlet.http.*;

__6. 在TransferServlet.java中加入如下的声明与方法:. (注意:为节省时间可以从c:yourbanklab2snippet14.java中拷贝)

private TransferHome transferHome = null;

static String successtransfer = " Transfer Successful.";

static String failureinsufficient = "Insufficient funds - no transfer";

static String failuredefault = "Exception";

static String failurefinder = "Finder Failure";

public void init(ServletConfig config) throws ServletException {

super.init(config);

try {

Context ctx = new InitialContext();

Object homeObject = ctx.lookup("ejb/Transfer");

transferHome =

(TransferHome)javax.rmi.PortableRemoteObject.narrow(homeObject,

TransferHome.class);

}

// Determine approximate cause of failure.

catch (NamingException e) {

System.out.println("init Naming Exception: " + e.getMessage());

e.printStackTrace();

throw new ServletException(e.getMessage());

} catch (Exception e) {

System.out.println("init Exception: "+ e.getMessage() );

e.printStackTrace();

throw new ServletException(e.getMessage());

}

}

public void performTask(HttpServletRequest request, HttpServletResponse

response) throws ServletException

{

String message = null;

Transfer transfer = null;

float toTransferBalance = 0;

float fromTransferBalance = 0;

CreateAccountViewBean jspbeanToAccount = new CreateAccountViewBean();

CreateAccountViewBean jspbeanFromAccount = new CreateAccountViewBean();

try

{

javax.servlet.http.HttpSession session = request.getSession(true);

jspbeanFromAccount =

(CreateAccountViewBean)session.getAttribute("CreateAccountBean");

try {

// Create a Transfer object.

transfer = transferHome.create();

// Based on user request type, invoke appropriate transfer methods.

Transfer.TransferFunds( Long.valueOf(

JspbeanFromAccount.getAccountNumber())

.longValue(),Long.valueOf(

(String)request.getParameter("toAccount")).longValue(),

Float.valueOf( (String )

request.getParameter("transferAmount")).floatValue());

fromTransferBalance = transfer.getBalance

( Long.valueOf(jspbeanFromAccount.getAccountNumber()).longValue());

toTransferBalance = transfer.getBalance(Long.valueOf

((String)request.getParameter("toAccount")).longValue());

message = (String)request.getParameter("transferAmount") +

successtransfer;

}

// Determine approximate cause of failure.

catch (InsufficientFundsException e) {

message = failureinsufficient + e.getMessage();

System.out.println( message );

e.printStackTrace();

} catch (FinderException e) {

message = failurefinder + e.getMessage();

System.out.println( failurefinder );

e.printStackTrace();

} catch (Exception e) {

message = failuredefault + e.getMessage();

System.out.println( message );

e.printStackTrace();

}

JspbeanToAccount.setAccountNumber

(Long.valueOf((String)request.getParameter("toAccount")) .longValue());

jspbeanFromAccount.setBalance(fromTransferBalance);

jspbeanToAccount.setBalance(toTransferBalance);

jspbeanFromAccount.setMessage(message);

session.setAttribute("CreateAccountBean", jspbeanFromAccount);

request.setAttribute("ToAccountBean", jspbeanToAccount);

RequestDispatcher rd =

getServletContext().getRequestDispatcher("TransferFundsJSP.jsp");

rd.forward(request,response);

}

catch (Throwable theException)

{

theException.printStackTrace();

throw new ServletException(theException);

}

}

}

__7. 添加如下的方法调用到 (黑体字) doPost 和doGet方法中, 若POST或者GET由用户提交,doPost和doGet方法都调用perform task方法;

public void doPost(

javax.servlet.http.HttpServletRequest request,

javax.servlet.http.HttpServletResponse response)

throws javax.servlet.ServletException, java.io.IOException {

try{

performTask(request, response);

} catch (Throwable e) {

}

}

public void doGet(

javax.servlet.http.HttpServletRequest request,

javax.servlet.http.HttpServletResponse response)

throws javax.servlet.ServletException, java.io.IOException {

try{

performTask(request, response);

} catch (Throwable e) {

}

}

__8.保存并关掉文件;

__9. 现在开始创建TransferFunds JSP;

__10. 转到Web perspective;随后的转帐部分将建立一个JSP以接受用户输入的转帐帐户与转帐数目;

__11. __ 转到Web perspective 并单击File --> New --> JSP File. (或单击工具栏上的相应的图标;)

__12. __ 在生成JSP文件的窗口(动态网页)中, 展开YourBankWebModule 后

单击webApplication;


__13. __ 输入TransferFundsJSP.jsp作为文件名;

__14. __ 单击Finish;

__15. TransferFundsJSP.jsp的源代码将显示在编辑窗口中,为生成的JSP添加一些属性和方法;

__16. __ 删除“Place TransferFundsJSP.jsp’s content here.”;

__17. __ 单击JSP --> Insert Bean或单击工具栏上的相应的图标;

来添加一个Java bean到JSP文件中, 该Java bean为CreateAccountBean Java bean, 通过WorkWithAccountServletResult servlet 添加到session中去;

__18. __ JSP的Attributes 窗口现实出来,在ID域中输入CreateAccountBean;

__19. __ 在类域中输入com.ibm.yourbank.web.CreateAccountViewBean;

__20. __ 在Type域中输入 com.ibm.yourbank.web.CreateAccountViewBean;

__21. __ 在Scope域中选择session;


__22. __ 单击OK.

__23. 单击Insert --> Table. 接受行与列的默认值,单击OK;

__24. __ 在左上角单元格中输入From Account;

__25. __ 在左下角单元格中输入Balance:.

__26. __ 文件TransferFundsJSP.jsp 应该如下所视:


__27. __ 把光标放置在右上单元格中然后单击JSP --> Insert Expression;


__28. __ 展开左?鹊?CreateAccountBean ,Properties 然后双击 accountNumber;

__ 单击OK

__ 把光标放置在右下单元格中然后单击JSP --> InsertExpression.

__ 展开左?鹊?CreateAccountBean ,Properties 然后双击balance.

__ 单击OK


__6. 把光标放在表格的下侧;

__7. 在现有表格的下部, 加入一横线;单击Insert --> Horizontal Rule.(或者按下control-k);

__8. 把光标放在当前Java bean旁边,在左上部添加另一个Java Bean.该Java bean 保存接受转帐的帐户信息;

__ 单击JSP -> Insert Bean

__ 在Attributes窗口中,在ID 域中输入ToAccountBean;

__ 在Class域中输入com.ibm.yourbank.web.CreateAccountViewBean

__ 在Type域中输入com.ibm.yourbank.web.CreateAccountViewBean.

__ 在Scope 项中选择request;

__ 单击 OK

__9. 把光标放在水平线的下方,生成另外一表格,接受默认值;

__ 在左上单元格中输入To Account:.

__ 在左下单元格中输入Balance:.

__ 把光标放在右上单元格中, 单击JSP --> InsertExpression.

__ 在左侧展开ToAccountBean ,Properties 并双击accountNumber;

__ 单击OK.

__ 把光标放在右下单元格中, 单击JSP --> InsertExpression.

__ 展开左?鹊?CreateAccountBean ,Properties 然后双击balance;


__单击OK

__ 把光标放置在下部表格的下方,选择JSP -> Insert Get Property;

__ 单击Browse选择CreateAccountBean -> message;


__ 单击OK;


__单击OK;

__10. 创建一窗体以提交转帐信息;

__ 把光标放在刚刚创建的get property然后单击Insert --> Formand Input Fields --> Form 或者按下(Control-O);

__ 这样创建了一个窗体,右键单击窗体并选中Attributes;

__ 在Action 域中输入InitialTransfer.;

__ 选中Post方法;

__ 单击OK;

__11. 当前的窗体只有一行,按下回车键使窗体的大小变为两行;

__12. 为了完成InitialTransfer JSP,需要添加以调用实现转帐的servlet。把光标放在当前窗体的第二行,单击Insert --> Form and Input Fields --> Submit 按钮;

__ 输入名字:transfer;

__ 在标签项label 输入Transfer More Funds;

__ 按钮类型为Submit;

__ 单击OK;

__ 右击Transfer More Funds 按钮选择copy,该按钮将在其他文件中使用;

__ 保存并关闭文件;

第五部分: 整个工程文件完成

__1. 打开文件CreateAccountResults.jsp;

__ 在窗体中表格的下部添加一直线;

__ 在此直线的下部粘贴Transfer More Funds按钮;

 

 



__ 右键单击Transfer More Funds按钮,选择Attributes并改变label属性为Transfer后单击OK;

__ 右键单击窗体并选择属性;

__ 在Action字段输入InitialTransfer;

__单击OK.

__ 保存并关闭文件。 转帐过程已经全部完成。

注意:忽略任务视图中的警告,当装载nitialTransfer.jsp以后,可以消除。


__2. 在该步中,将导入WorkWithAccountServlet,WorkWithAccountImportForm.html,WorkWithAccountResults.jsp,Initial Transfer JSP,同时导入提供边框的index.html, Title.html, Menu.html,Welcome.html,导入的这些资源以后可以测试YourBank 应用程序;

__3. 选择File -> Import 单击zip 文件;

__ 单击Next;


__ 单击Browse,选择C:yourbanklab2Lab2Part4and5.zip

__选择目标文件夹为YourBankWebModule,单击OK. 单击Finish;

__4. 对于其他页面调用的InitialTransfer.jsp ,应该添加Web模块的映射信息到文件web.xml;

__ 展开YourBankWebModulewebApplicationWEB-INF打开文件web.xml;

__ 单击Servlets tab;

__ 单击Add 按钮并选中WorkWithAccountController;

__ 单击OK;


选择与URL 映射相邻的Add按钮然后输入/WorkWithAccountController;

__ 单击OK 并保存;

__ 单击Add 按钮并选择顶部的JSP单选按钮;

__ 选择InitialTransfer.jsp 并单击OK;

__选择与URL 映射相邻的Add按钮然后输入/InitialTransfer;

__ 保存并关闭文件web.xml;

__ 到现在为止,在任务视图中应该只有一个警告信息;

__5. 在菜单项中固定Create Account 与CreateAccountInputForm的链接;

__ 选择链接视图;

__ 在YourBankWebModule 的Navigator视图中单击index.html,在链接视图中可以看到与index.html资源的链接。如果看到虚线,双击链接视图中的文件并打开它,固定在响应的行<A href=”;

__ 单击Menu.html 文件前面的+ ;


__单击WorkWithAccountInputForm.html文件前面的+ ;

 在链接视图中,不同的链接有不同的表示方法:有两跟短线穿过的箭头线表明其为虚链接,带数字的箭头线标明Menu.html与该文件的链接次数; 与图片的


链接表明有时其为内链接,因为它们作为相同的HTTP request 的一部分,(看起来象同一张网页), 带有问号的箭头线表明该链接的有效性不能被确认,在GetResults前面的图标表明其为工业标准链接的一种。

__ 在链接视图中,看到Menu.html与CreateAccountInputForm 的虚链接,现在可以解决。在菜单文件夹中单击Menu.html 并在编辑器中打开。(注意: Menu.html) 单击源代码视图,带有!的黄色三角形图标表明了虚链接,在../CreateAccountInputForm后面加入.html以解决该问题。


__ 保存并关闭文件 Menu.html;

__6. 现在开始测试转帐过程;

__ 转到Server perspective, 展开YourBankWebModule 和webApplication,右键单击文件WorkWithAccountInputForm.html然后单击Run onServer.;


__ 输入Account Number 为3 然后单击Submit;

__ 帐号为3的balance将显示出来;


__7. 在继续进行转帐过程之前, 单击Perspective --> Open --> Other...选择Java. 单击OK;


__8. 这将打开Java perspective. 当使用的类位于不同的包内时,Java perspective 使用树结构打开每一个包;

__9. 展开YourBankWebModulesource,同jar文件(j2ee.jar, webcontainer.jar)中的支持类一起,不同的包被分别的列出;


__ 单击Perspective --> Close 关闭Java perspective;

第九部分: 测试YourBank 应用程序

__1. 首先添加页面index.html 到web.xml中的Pages tab;

展开文件夹WEB-INF打开文件web.xml,单击Pages tab. 在欢迎文件面板里单击,输入/index.html,保存并关闭该文件;

__2. 在YourBankWebModule的Web Perspective Navigator 视图里,右键单击YourBankWebModule 并选择Run on Server,页面index.html page开始在浏览器中运行;

__3. 在左侧的菜单中单击Create Account ,生成帐户的窗口显示出来;

__4. 输入帐户号码, 开始的balance, 类型和户主;

__5. 单击submit. 通过Account EJB ,CreateAccountServletResults servlet 将以CreateAccountInputForm.html为入口生成帐户;


__6. 开始测试帐户的菜单项; 单击Work With Account ;

__7. 输入已经存在的帐户号码4;

__8. 单击submit. WorkWithAccountResults JSP 显示已经存在的帐户号码和余额,单击Transfer Funds. InitialTransfer JSP 显示出来;


__9. 单击转帐按钮;

__10. 输入转帐号码;

__11. 输入转帐的数量;


__12. 单击Transfer Funds. TransferResults JSP 将显示转帐的帐号,数量与转帐成功的信息;


总结

在本练习中生成了一个Web工程, 一个 JavaBean, 使用JavaBean Web Pages向导生成了几个HTML, JSP, 和Servlet资源. 使用页面设计器生成了和更新了HTML and JSPs 并向JSPs中加入了JavaBean(s), 列表框,文本框,表格,按钮。使用JSP 和Servlet 向导. 向servlets 中添加代码以实现和Enterprise JavaBeans的通信. 文件与该文件本地历史的比较;

导入了一个压缩文件Zip. 使用了连接视图,在WebSphere应用程序服务器中发布与运行web 应用程序。

 

Solution Files:

跳过练习一直接开始本次练习的方法:

1) 执行文件C:yourbanksolutionslab1CfgLab1.bat

在打开的DB2CMD窗口中执行cfgdb.bat;

2) 导入服务器配置;

a) 单击 File->New->Project... Server, Server Project, 单击Next;

b) 输入项目名称TestServer, 单击Finish;

c) File->Import. 选择Zip file, 单击Next;

d) 单击Browse,选择C:YourBankSolutionsLab1TestServers.zip

e) 输入"TestServer" 作为文件夹的名字;

f) 单击"Finish"

*注意* 导入的测试服务器假定为默认的目录结构,如果使用了不同的目录结构, 则需要按照实验一的第三部分手工配置服务器; 

3) 在Application Developer中导入EAR;

a) 单击File->Import;

b) 选择EAR file, 单击NEXT;

c) 单击Browse,选择c:YourBankSolutionsLab2YourBankAfterLab2.ear;

d) 输入Enterprise Application 工程名称为:YourBankEAR;

e) 单击"Finish"

4) 在Navigator视图中,右键单击YourBankWebModule. 选择Properties,

Server Preferences, YourBankServer, 单击Apply, 然后单击OK;

5) 在Navigator视图中,右键单击YourBankEJBModule in the Navigator view. 选择Properties,Server Preferences, YourBankServer, 单击Apply, 然后单击OK。

 

 
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号