Struts快速开发

Struts快速开发

一、软件清单

以下是一个使用此向导的软件清单

JDK 1.4+ (Sun or IBM)

http://java.sun.com/j2se/downloads/index.html

Eclipse 3.1 SDK

http://www.eclipse.org/downloads/index.php

MyEclipse 4.0

http://www.myeclipseide.com/ContentExpress-display-ceid-10.html

Tomcat 5.0.x (5.0.28 Preferred, or other compliant Servlet/EJB container)

http://www.axint.net/apache/jakarta/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.exe

. 新工程安装与配置

首先我们将需要在MyEclipse里建立一个新的web module project,并将Struts容器添加到里面。建立WEB Project可以使用以下向导:File > New > Other > Project > J2EE > Web Project,如下图一所示:

1 – Web工程向导对话框

现在输入新工程的所有信息,如下图二所示:

600

2 – Web工程设置

这个WEB 工程就建立了,我们需要往里面添加Struts容器。在左边包资源管理视图中,点击我们工程的根目录,并选择MyEclipse >Add Struts Capabilities,将如下图三所示:

3 –添加Struts容器到Web工程

Struts对话框的默认值能满足本指南的意图,不管怎么样,在下图4中,为了新类的映射基本包而改变Base package的值。,我们这儿采用默认值。

4 - Struts Capabilities设置

向导完成后,工程的结构将如下图5所示

5 –设置后的工程布局

现在我们需要建立我们的工程,在以下的部分我们如插图一样建立我们的WEB内容。

三、开始一个Struts工程

在这部分,我们将模仿一个简单的网站登录建立一个Struts应用程序示例,最后我们只有两个JSP页面。我们将分别的调用loginUser.jsp和loginUserSuccess.jsp页面。在尝试登录过程中,如果登录失败我们将回调loginUser.jsp并显示错误信息。这个login应用程序的流程如下图6所示

注意:这个应用程序的屏幕截图是使用Struts Designer。我们将在下一节讲述怎么使用它的细节。

6 – 应用程序流程示例

在这个流程图中,我们看到应用程序从userLogin.jsp页面开始。这个登录页面将调用userLogin action执行登录操作。如果有问题或验证错误,userLogin action将调回到userLogin.jsp。无论如何,如果登录成功,应用程序将调用userLoginSuccess.jsp页面。

3.1Struts工程的组成

一个典型的Struts工程将由以下开发的种类组成:

JSPs

Actions

ActionForwards*

ActionForms**

Struts部署描述: struts-config.xml

MyEclipse里建立任何一个组件(除了struts-config.xml文件)可以使用三种不同的方法。

方法一:使用File > New > Other... > J2EE > Struts 1.1 (or 1.0)选择一个Struts向导,如下图7所示:

7 – 所有可用Struts向导

这个向导可以直接设置所支持的Struts组件的值。这个向导还有更复杂和其它的一些设置。例如在Struts Action向导如下图8所示,你能看到一个Struts Action全面的细节。

8 – 新建Struts Action向导

方法二:使用自定义大纲视图,如图9所示:

Figure 9 – 从Outline View建立Struts向导

方法三:使用Struts编辑设计页,如图10所示,这也是一个建立Strust非常方便的方法。这个编辑器是通过打开struts-config.xml文件,单击Design标签调出来的。

10 – 使用Struts设计器

切换到设计器后你将看到如图11所示:

11 – Struts设计器总览

现在我们知道了怎样建立不同的Struts组件了,下一部分我们建立一个login应用程序示例。

3.2 建立应用程序

我们将在示例程序的结构中建立JSP页面,我们模仿一个网站的登录界面,我们将需要两个JSP页面:loginUser.jsp和loginUserSuccess.jsp。如果登录确认失败或发生错误将调回到loginUser.jsp并显示错误。我们首先开始建立loginUserSuccess.jsp页,我们首先建立最后一个页面,因为我们能够使用“New Form,Action And Jsp”向导建立第一个JSP页面,并关联Action和ActionForm。

建立loginUserSuccess.jsp页面如图12所示:

12 – 使用设计器建立JSP

在画布上点击后我们将出现New JSP Dialog的界面,如图13:

注意:请确认选择了“Standard JSP using Struts 1.1”

Figure 13 – JSP向导设置

单击Finish后出现如图14所示,将显示建立的新的页面。

Figure 14 – Struts设计器显示JSP页面

 

userLoginSuccess.jsp页面建立成功后,具体代码如下:

<%@ page language= "java"%>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html:html locale="true">

<head>

<title>My Struts 'userLoginSuccess.jsp' ending page</title>

</head>

<body>

Hello

<bean:write name="userName" scope="request" />, you successfully logged in!

</body>

</html:html>

 

现在我们需要建立userLogin.jsp,Actionform和Action。这需要一些工作,但MyEclipse使用New Form and New Form,Action and JSP向导可以一次性的完成这此工作。

当建立userLogin.jsp页面时我们需要构造一些字段。

我们右键单击画布选择“New form,Action And JSP”向导,如图15:

Figure 15 - New Form, Action, JSP向导

在建立的三步中,我们将首先出现New Form向导。输入Use Case,如图16所示:

Figure 16 – 新建Form向导

现在我们需要添加两个表单内容:userName和Password。如图17所示:

Figure 17 – 添加Add 内容到表单

添加完后如图18所示:

Figure 18 – 表单内容

选择Next之前单击JSP标签,告诉向导你用Myeclispe建立JSP页面,如图19:

Figure 19 - Enable JSP Page Generation for Form

最后我们需要单击Methods标签,确定没有选择任何一个方法,如图20所示:

Figure 20 - Disable Method Generation

单击Next后我们将跳到“New Action”向导,如图21所示:

Figure 21 - Struts Action Wizard

单击“Forwards”可以指定ActionForwards,如图22所示:

Figure 22 - Setting up the Action Forwards

Action添加Forwards操作完成后,单击finish将会把所有的资源及信息更新到struts-config.xml文件中。更新完成后如图23所示:

Figure 23 - Overview of Struts Designer and our Application

现在我们需要添加逻辑到Action,完成示例程序的登录,如图24我们双击它能很快的跳转到从设计器跳转到资源上。

Figure 24 - Double-click on a Designer Resource to Open an Editor

当打开UserLoginAction.java文件后,我们第一时间找到execute方法,如下所示:

 

public ActionForward execute(

ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response) {

UserLoginForm userLoginForm = (UserLoginForm) form;

throw new UnsupportedOperationException(

"Generated method 'execute(...)' not implemented.");

}

 

我们可以删除默认执行,替换为我们的登录逻辑,如下所示:

 

public ActionForward execute(

ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response) {

UserLoginForm userLoginForm = (UserLoginForm) form;

if(userLoginForm.getUserName().equals("myeclipse") && userLoginForm.getPassword().equals("myeclipse"))

{

request.setAttribute("userName", userLoginForm.getUserName());

return mapping.findForward("success");

}

return mapping.findForward("failure");

}

四、 运行示例

现在应用程序完成了,我们需要把它发布到Tomcat5上,打开部署管理对话框为这个工程设置一个新的部署。如图25所示。你同样可以单击包资源管理器视图选择MyEclipse > Add and Remove Project Deployments,单击“Deploy J2EE Project to Server”按钮。

Figure 25 - Create a New Deployment

发布完成后确认没有错误是一种好的办法,如图26所示。

Figure 26 - Confirm Deployment Succeeded

最后运行Tomcat如衅27:

Figure 27 - Start Application Server

当服务启动后,将从console View中输出的信息中我们需要检查两件事,如图28:

1) Tomcat正确的布置了我们的WEB应用程序

2) Tomcat正常的启动

Figure 28 - Confirm Application and Server started correctly

Tomcat5运行后,我们能通过BrowserView测试。打开视图对话框通过选择Window > Show View >Other...选择MyEclispe Web Browser View,如图29:

Figure 29 - Opening the Web Browser View

在浏览器地址输入http://localhost:8080/StrutsLoginDemo/userLogin.jsp,使示例程序激活,如图30所示:

Figure 30 - Login to Demo Application

在这儿输入值,如图31所示:

Figure 31 - Note About Validation

单击submit后,如果登录成功将如下图31所示:

Figure 32 - Successful Login

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值