天涯 书塾

茶亦醉人何必酒,书能香我哪须花

fablekingID:fableking
38973次访问,排名2855好友1人,关注者1
清风共我驾云腾,
可畏人嘲我不能?
怯世虚名还满市,
谁人敢笑我癫疯。
fableking的文章
原创 39 篇
翻译 0 篇
转载 101 篇
评论 20 篇
欣水寓言的公告
欣水寓言



个人签名
清风共我驾云腾,
可畏人嘲我不能?
怯世虚名还满市,
谁人敢笑我癫疯。

联系方式
最近评论
shi6774100:楼主说的方法行不通的挖?
lhq_360:我依照大哥上面的php配置后,还是不能正常运行啊!我运行<?php phpinfo(); ?> ,出来的是文件下载的界面。这是怎么回事啊?请大哥帮忙解答!谢谢啊!
anjinger:非常感谢,刚查到
java.util.Date.toString()

创建该日期规范的字符串表示。 结果的形式是 "Sat Aug 12 02:30:00 PDT 1995"。
返回值:
该日期的字符串表示。
java.sql.Date.toString()
以 JDBC 日期换……
anjinger:非常感谢,刚查到
java.util.Date.toString()

创建该日期规范的字符串表示。 结果的形式是 "Sat Aug 12 02:30:00 PDT 1995"。
返回值:
该日期的字符串表示。
java.sql.Date.toString()
以 JDBC 日期换……
anjinger:那为什么sql DATE类型的直接输出不经过处理格式就是正确的呢?2008-1-1这种格式
文章分类
收藏
相册
文章贴图
欣水寓言
编程BLOG
daishuo的百度空间(RSS)
lenhan12345的专栏
monyer的百度空间(RSS)
流子的CSDNblog
流子的roboticfanBlog
网址收藏
Ajax 技术资源中心(RSS)
DWR官方
Java technology(RSS)
Javascript语法检查
JavaThinker
jQuery Start
MSDN技术资源库
XPath 教程
心理-Psychology Express
掌握 Ajax 系列(RSS)
围棋|囲碁
Tom棋圣道场
上海棋院
欣水寓言
天涯书塾[百度](RSS)
天涯书塾[网易](RSS)
女儿的MSN空间
妹妹的MSN空间
我的Email
我的MSN
我的相册
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

转载 MyEclipse Struts 教程收藏

新一篇: javascript+css简单实现树形结构列表 | 旧一篇: FrontPage无法识别文件编码问题解决

1. 序


此文档适应 Sun JDK 1.4.2, Eclipse 3.0.1 and MyEclipse 3.8.2. 环境。所有的屏幕截图都是基于 Eclipse, MyEclipse Enterprise Workbench, and Windows XP 的默认用户接口设置。如果你在使用这个文档的过程中遇到困难,请看用户反馈部分,以反馈给 MyEclipse documentation team 。


2. 说明


在这个用户指南中我们将通过 MyEclipse Enterprise Workbench 来开发和测试一个简单的 Struts 示例应用。这并不需要我们具有 Struts 或者 MyEclipse 的预备知识。


3. 必备工具


JDK 1.4+ (Sun or IBM)


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


Eclipse 3.0.x SDK


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


MyEclipse 3.8.2


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


Tomcat 5.0.x ( 首选 5.0.28 P referred, 或其他 Servlet/EJB 容器 )


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


4. 构造一个新项目


为了有效的组织我们的开发,我们需要在添加了 Struts Capabilities 的 MyEclipse 中创建一个新的 Web Module Project 你可以创建一个 web project 通过菜单 File > New > Other > Project > J2EE > Web Project ,如下图所示



图 1--- 新建 Web Project 对话框


然后键入关于新项目的所有信息 ,如下图:



图 2 ---- 设置 Web Project


一旦创建了 Web Project ,我们需要为 MyEclipse 添加 Struts Capabilities 。这可以通过右击 Package Explorer 视图中项目的名称,并且依次选择 MyEclipse > Add Struts Capabilities 做到。如下面图示:



图 3 :在 Web Project 中 添加 Struts Capabilities


对这个应用来说, Struts 对话框的默认值已经很适合了。但是,你可以改变 Base package for new classes 来适应你的情况。如下图 4 所示,我们只是简单的保留这些默认值。



图 4---- 配置 Struts Capabilities


当完成上面的步骤,项目的结构会如下图 5 所示



图 5 ---- 配置后的项目结构视图


现在我们已经成功地创建完项目,然后可以开始构建 web 的内容了,现在转入下一步。


5. 开始一个 Struts 项目


这一部分我们将要集中创建一个 Struts 应用示例,这个实力是在模仿一个简单的网站登录屏幕。所以,仅需要 2 个 Jsp 页面,一个提示用户登录,另一个简要的说明登录成功。我们分别命名这 2 个 jsp 页面为 userLogin.jsp 和 userL oginSuccess.jsp 。如果用户试图登录时存在授权错误,将直接指导用户返回 LoginUser.jsp 并且显示错误信息。


一般来说,当开始一个 Struts 项目的时候,设计好应用的流程是很有用的。这样,开发团队就会对项目中所有元素的组合有一个更好的认识。创建流程最容易的方法就是通过使用 Struts 图形化设计模式。 Struts 编辑器提供了一个可以拖放工具,它可以使你通过快速的复制页面流程来构造应用。这个应用示例 Login 的流程就如下图 6 所示



图 6 ----- 应用程序的流程


我们可以从上面的设计视图中看到此应用开始于 userLogin.jsp 页面的显示。此登录页将要调用 userLogin 动作( action )来执行用户的登录操作。如果出现验证错误或问题, userLogin action 将引导用户返回 userLogin.jsp 页面。然而,如果登录成功,应用将转向 userLoginSuccess.jsp 页面。


5.1 Struts 项目的组件


一个典型的 Struts 项目会包括以下组件


JSPs


Actions


ActionForwards*


ActionForms**


Struts 部署文件 : struts-config.xml


在 MyElcipse 中可以通过 3 个不同的方法创建所有组件或者其中一个组件(除了 struts-config.xml )


方法 1 :使用菜单 File > New > Other... > J2EE > Struts 1.1 (or 1.0) , 如下图:



图 7


对话框将直接引导你并且提示你所有被 Struts 组件支持的值。一些部件要比其他的复杂。例如:如下图 8 所示的对话框,你可以看到 Struts Action 支持的所有特征已经被赋予了容易理解的值



图 8----- 对话框:创建新的 Struts Action


方法 2 :使用 Outline 视图。从此视图中,你可以通过右击任何一个组件类型弹出菜单来创建此类型的新组件。图 9 如下:



图 9----Outline 视图


方法 3 : Struts 图形化编辑器(如下图 10 )也是一个创建 Struts 组件的方便之路。打开 struts-config.xml 文件,单击编辑器下面的 Design 标签就可以打开 Struts 图形化编辑器



图 10----- 打开 Struts 图形化编辑器:


然后转到如下图 11 所示的编辑模式界面:



图 11 ----- Struts 图形化设计模式视图


现在我们已经知道怎么创建 Struts 部件的不同组件了,我们可以创建 Login 应用的不同部分了。下面接着来


5.2 搭建应用程序


我们通过集中创建 Jsp 页面来开始搭建示例应用。既然我们的应用模拟某个网站登录界面,那么仅需要 2 个 jsp 页面: userLogin.jsp 和 userLoginSuccess.jsp 。像大多数 Struts 应用程序一样,如果再登录过程发生错误,将引导用户回到 userLogin.jsp 并提示出错(我们并不需要一个专门的出错页面 userLoginFailure.jsp )。


首先,创建 userLoginSuccess.jsp 。看起来像是首先创建最后的页面,这样做的目的是我们可以利用 New Form, Action and JSP 来创建 userLogin.jsp, 这个页面关联 Action 和 ActionForm 。


下图 12 就是开始在 Struts 设计模式下创建 userLogin.jsp



图 12---- 创建 jsp 页面


在点击后,系统将提示图下图 13 所示的对话框


注意:一定要选 Standard JSP using Struts 1.1



图 13---- 配置 userLoginSuccess.jsp


在单击 Finish 之后,设计试图上显示最新创建的页面。如下图 14



图 14


要完成这个 jsp 页面就只剩输出那些告知用户已经成功登录的信息了!下面给出了 userLoginSuccess.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 "-//W 3C//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>


这个页面很简单。我们唯一要做的事情 <body> 标签的内容:输出变量 userName 的值,这个变量 userName 是存储在此应用请求过程中。所以,在随后要创建的 action 中,需要我们放置一个 userName 属性在请求过程中。


此刻,我们还要创建 userLogin.jsp , ActionForm 和 Action 。看起来工作量不少啊,但是 MyEclipse 可以通过 New Form and New Form, Action and JSP 对话框 方便的创建他们。


继续构建这个应用,右击 Struts designer 画布的空白处。选择 new ,接着选择 New Form, Action and JSP 如下图 15 所示:



图 15------- 启动 New Form, Action, JSP


首先出现的是: New Form 对话框。一定要输入 user case 名称。下图 16 展现了你将要填写的 user case 名称 的值



图 16


下面我们将要添加 2 个表单属性: userName 和 password 。当添加 password 域时,选择 JSP input type 为 password 。如图 17 所示:



图 17 ----- 为表单添加属性



图 18 -----Form 属性


在单击 Next 前,一定要单击 JSP 标签并如下图 19 一样操作。



图 19


最后我们单击 Methods 标签,不要选择任何方法。如下图 20



图 20


单击 Next 按钮后,出现 New Action 对话框,你可以看到已经为你填写了大多数的值。图 21 就是这个对话框的截图。如下:



图 21


你可以单击 Forwards 标签来指定 ActionForwards 。如下图 22



图 22


在为这个 action 添加完 Forwards 后,单击 Finish 按钮。 MyEclipse 会创建资源并更新 struts-config.xml 文件。图 23 展示了更改后的结构。



图 23


现在系统的流程已经被却确定,我们需要为这个 Action 添加逻辑来控制登录流程。通过双击可以快速的跳转到任何资源。就像下图 24 展示的一样



图 24


当你第一次打开 UserLoginAction.java 的时候,为 execute ()方法自动生成的代码如下:



UserLoginAction.java

public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
UserLoginForm userLoginForm = (UserLoginForm) form;
throw new UnsupportedOperationException(
"Generated method 'execute(...)' not implemented.");
}


修改 userLoginAction.java 的 execute ()方法后如下:



UserLoginAction.java

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");
}


这里我们做了很简单的事情,仅仅检验 userName 和 password 是不是都为 myeclipse 。如果是,存储 userName 在请求过程中,并转向: success ,因此 userLoginSucces.jsp 会显示出个人化的信息。否则,出错后将要转向 failse 。在实际应用中,你应该添加 ActionMessages 或者 ActionErrors 集合一解释发生了什么事情。


6. 运行


现在应用程序已经完成,我们要把它部署到 Tomcat5 。打开 Package Explorer 视图并且右击项目,然后依次选择 MyEclipse > Add and Remove Project Deployments 或者单击工具条的 Deploy J2EE Project to Server 按钮。如下图 25



图 25


完成部署后检测部署状态来确保正确部署。你可以按照图 26 做



图 26


最后按照图 27 来启动 Tomcat 来使用应用服务器



图 27


服务器启动的时候, Eclipse 的 Console 视图会显示启动状态。如图 28



图 28


当 Tomcat5 运行起来,我们就可以通过 MyEclipse 的 Browser 视图来测试示例应用了。选择菜单 Window > Show View > Other... 截图如下图 29 所示



图 29


在地址栏中输入网址,如下图所示



图 30


说明程序能正常运行。按照下图 31 输入 userName 和 passwod



图 31


登录以后,我们被引导到成功登录界面。如图 32



图 32


7. 总结


在这个示例中,我们通过 MyEclipse Enterprise Workbench 提供的 Struts 工具开发了一个简单的 Struts 应用。


我们可以看大 MyEclipse 带给我们益处:高效,方便

 

发表于 @ 2007年03月23日 15:29:00|评论(loading...)|编辑

新一篇: javascript+css简单实现树形结构列表 | 旧一篇: FrontPage无法识别文件编码问题解决

评论

#mp710104 发表于2007-04-12 22:27:07  IP: 60.248.130.*
請問高手我安裝MyEclipse後
環境也建置好了想使用struts-config圖形介面
可是出現下列訊息:
Unable to create this part due to an internal error. Reason for the failure: An unexpected exception was thrown.

java.lang.NullPointerException
at com.genuitec.eclipse.struts.editor.xml.SourceEditor.createPartControl(SourceEditor.java:314)
at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:183)
at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:153)
at com.genuitec.eclipse.struts.editor.multipage.StrutsConfigEditor.createSourceEditorPage(StrutsConfigEditor.java:232)
at com.genuitec.eclipse.struts.editor.multipage.StrutsConfigEditor.createPages(StrutsConfigEditor.java:288)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:276)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:372)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:290)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:140)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.jav
2007-04-13 09:08:03作者回复
帮你查了下,可能你有xmlbuddy的插件,把它删除可能就好了<br />
#littlehedgehog 发表于2007-10-21 17:41:10  IP: 60.12.8.*
终于找到个入门的啦 没想过开源的东西就是麻烦些
#littlehedgehog 发表于2007-10-21 18:17:10  IP: 60.12.8.*
才完全照着上面做了下,感觉至少struts不是概念化东西,原来做.net的,跳过来感觉真的很不适应
谢过楼主
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 欣水寓言