您的位置:首页 > 编程语言 > Java开发

Eclipse开发struts完全指南

2007-07-14 22:06 477 查看
[align=left]一、准备安装程序 [/align]
[align=left]1、JDK 安装程序下载 [/align]
[align=left]下载地址:http://developers.sun.com/downloads/[/align]
[align=left]2、tomcat下载
           下载地址: http://tomcat.apache.org/[/align]
[align=left]3、Sysdeo Eclipse Tomcat Launcher plugin 下载 [/align]
[align=left]下载地址:http://www.sysdeo.com/eclipse/tomcatplugin [/align]

[align=left]4、eclipse 安装程序下载 [/align]
[align=left]下载地址:http://www.eclipse.org/downloads/index.php [/align]
[align=left]这里需要对应版本的JDT,如果下载的是Eclipse SDK版本就自带了,如果没有,同一个下载页面的靠后部分有JDT的下载链接,下载后将对应的文件分别拷贝进eclipse安装目录下的对应的文件夹即可。 [/align]
[align=left] [/align]

[align=left]5、GEF 3.1 安装程序下载 [/align]
[align=left]下载地址: [/align]
[align=left]http://download.eclipse.org/tools/gef/[/align]
[align=left]这里我们下载GEF-ALL-3.1.zip。 [/align]
[align=left]6、Eclipse HTML Editor 1.6.7 安装程序下载 [/align]
[align=left]下载地址:https://sourceforge.jp/projects/amateras/files/?release_id=16537#16537[/align]
[align=left] [/align]
[align=left]这里我们下载:tk.eclipse.plugin.htmleditor_1.6.7.zip。 [/align]
[align=left]7、StrutsIDE 1.1.7 安装程序下载 [/align]
[align=left]下载地址:https://sourceforge.jp/projects/amateras/files/?release_id=16537#16537 [/align]
[align=left][/align]
[align=left]这里我们下载:tk.eclipse.plugin.struts_1.1.7.zip。 [/align]
[align=left]好了,到此我们准备好了所有的安装包。 [/align]
[align=left][/align]

二、安装JDK并配置开发环境
这里只需要双击JDK安装包的exe文件,按照提示安装即可。安装完成后,将JDK安装目录下的bin文件夹设置进环境变量的path路径中去。同时,将JRE的lib目录下的rt.jar包设置进环境变量的classpath中去。
这里我们把JDK安装到了默认安装路径C:/Program Files/Java/jdk1.5.0_02下。这里就不多说了,网上可以搜索到很多JDK安装配置的文章。
三、安装tomcat服务器
只需要双击tomcat安装包的exe文件,按照提示安装即可,这里我们的安装目录为D:/Tomcat5.5,管理员密码设置为12345678。
四、安装Eclipse开发工具
只需要把eclipse-SDK-3.1-win32.zip安装包解压,然后把里面的eclipse文件夹剪切至想放置的目录即可,这里我们把eclipse安装到了D:/eclipse目录下。
在安装目录下双击eclipse.exe文件,即可启动eclipse。中间会询问默认的工作目录,你可以按其默认设定的,也可以自己设定工作目录,这里设置为E:/workspace目录。请选中Use this as the default and do not ask again选项,这样以后启动就不会再询问了。
到此eclipse安装成功。
五、安装tomcatPlugin插件
安装很简单,解压我们已经下载的安装包tomcatPluginV31beta.zip,将解压后的com.sysdeo.eclipse.tomcat_3.1.0.beta文件夹拷贝至D:/eclipse/plugins目录下即可。我们关掉已经打开的eclipse,重新打开,OK,现在我们会发现工具栏上多了几个雄猫的图标,就是tomcat的启动、停止和重启动的按钮。打开eclipse的window/preferences,我们在左边的树种也可以找到tomcat一项。
点击tomcat项,在右边我们选择version 5.x版本,然后设定tomcat home为D:/Tomcat5.5,Contexts directory为D:/Tomcat5.5/conf/Catalina/localhost。到此tomcat plugin设置完毕。
六、安装GEF插件
同样,将GEF-ALL-3.1.zip解压缩,然后拷贝解压后的eclipse目录下的三个文件夹到D:/eclipse目录下,覆盖所有的现有文件夹。
好了,到此GEF安装完成。

[align=left]七、安装Eclipse HTML Editor插件 [/align]
[align=left]解压缩tk.eclipse.plugin.htmleditor_1.6.7.zip包,然后将plugins目录拷贝至D:/eclipse目录下覆盖原文件夹即可。到此Eclipse HTML Editor插件安装完成。 [/align]
[align=left][/align]
[align=left]八、安装StrutsIDE插件 [/align]
[align=left]解压缩tk.eclipse.plugin.struts_1.1.7.zip包,然后将plugins目录拷贝至D:/eclipse目录下覆盖原文件夹即可。 [/align]
[align=left]好了,到此StrutsIDE插件安装完成。 [/align]

[align=left]九、创建测试工程 [/align]
[align=left]如果已经完成了上面所有步骤,现在可以重新启动eclipse,使新安装的插件生效,开始正式开发了。 [/align]
[align=left]1、使用Sysdeo Tomcat Plugin创建tomcat工程: [/align]
[align=left]File->new->others,打开新建向导对话框,在树中找到java->tomcat projects,选中,点击next按钮。在projects name中输入textweb,选中Use default,点击next。在下一个对话页面,保持默认设置,点击finished。这时,我们在eclipse的package explorer中会看到新建的工程testweb,创建完成。 [/align]
[align=left]2、加入struts框架 [/align]
[align=left]File->new->others,打开新建向导对话框,找到Amateras->Struts->Add Struts Support,选中点击next按钮。 [/align]
保持默认设置,点击Finish按钮。这时,在ec
1149e
lipse的package explorer中会看到增加了很多struts的库文件,在WEB-INF下也增加了很多struts的配置文件。到此我们已经在项目加入了Struts框架。
[align=left]3、编辑struts-config.xml文件 [/align]
[align=left]在WEB-INF文件夹下可以找到,右键点击菜单中选择open with->Amateras XML Editer可以直接对xml文本进行编辑,选择open with->struts-config.xml editor可以在图形模式下对文件进行编辑。 [/align]
[align=left]在右边的outline中点击相应的struts对象可以添加新的对象进去。这里我们只是说明这里有一个比较方便的struts-config.xml文件的编辑器,后面我们将开发一个简单的小程序。 [/align]
[align=left]4、新建一个页面index.jsp [/align]
[align=left]File->new->others,打开新建向导对话框,找到Amateras->JSP File,点击next按钮,FileName改为index.jsp,点击Finish。然后打开index.jsp文件进行编辑,内容如下: [/align]

[align=left]<%@page pageEncoding="GBK"[/align]
[align=left]contentType="text/html; [/align]
[align=left]charset=gb2312" %>[/align]
[align=left]<html>[/align]
[align=left]<head>[/align]
[align=left]<meta http-equiv="Content-Type"[/align]
[align=left]content="text/html; [/align]
[align=left]charset=gb2312"/>[/align]
[align=left]<title></title>[/align]
[align=left]</head>[/align]
[align=left]<body>[/align]
[align=left]<form name="form1" method="post" [/align]
[align=left]action="/testweb/logincheck.do">[/align]
[align=left]<table width="300" border="0"[/align]
[align=left]cellspacing="0" cellpadding="0">[/align]
[align=left]<tr align="center">[/align]
[align=left]<td colspan="2">用户登录信息</td>[/align]
[align=left]</tr>[/align]
[align=left]<tr>[/align]
[align=left]<td>用户名</td>[/align]
[align=left]<td>[/align]
[align=left]<input name="username" [/align]
[align=left]type="text" id="username"[/align]
[align=left]size="12">[/align]
[align=left]user    [/align]
[align=left]</td>[/align]
[align=left]</tr>[/align]
[align=left]<tr>[/align]
[align=left]<td>用户密码</td>[/align]
[align=left]<td>[/align]
[align=left]<input name="password" [/align]
[align=left]type="text" id="password" [/align]
[align=left]size="12">[/align]
[align=left]123456    [/align]
[align=left]</td>[/align]
[align=left]</tr>[/align]
[align=left]<tr align="center">[/align]
[align=left]<td colspan="2"><input [/align]
[align=left]type="submit" name="Submit" [/align]
[align=left]value="提交"></td>[/align]
[align=left]</tr>[/align]
[align=left]</table>[/align]
[align=left]</form>[/align]
[align=left]</body>[/align]
[align=left]</html>[/align]
[align=left]5、创建form数据对象 [/align]
[align=left]打开File->new->package对话框,name中输入com.is.form,点击Finish按钮。在右边的Package Explorer树中找到刚才创建的包,右键点击com.is.form包,菜单中的new->others,找到Amateras->struts->Struts Action Form,点击next,在对话框中name栏输入LoginForm,点击Finish按钮。 [/align]
[align=left]编辑LoginForm类的内容为: [/align]

[align=left]package com.is.form;[/align]
[align=left]import org.apache.struts.action.ActionForm;[/align]
[align=left]public class LoginForm extends ActionForm [/align]
[align=left]{[/align]
[align=left]private static final long [/align]
[align=left]serialVersionUID = 1L;[/align]
[align=left]private String username = "";[/align]
[align=left]private String password = "";[/align]
[align=left]/**[/align]
[align=left]* @return Returns the password.[/align]
[align=left]*/[/align]
[align=left]public String getPassword()[/align]
[align=left]{[/align]
[align=left]return password;[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] [/align]
[align=left]* @param password The password to set.[/align]
[align=left]*/[/align]
[align=left]public void setPassword(String password)[/align]
[align=left]{[/align]
[align=left] this.password = password;[/align]
[align=left]}[/align]
[align=left]/**[/align]
[align=left]* @return Returns the username.[/align]
[align=left]*/[/align]
[align=left]public String getUsername() [/align]
[align=left]{[/align]
[align=left]return username;[/align]
[align=left]}[/align]
[align=left]/**[/align]
[align=left]* @param username The username to set.[/align]
[align=left]*/[/align]
[align=left]public void setUsername(String username) [/align]
[align=left]{[/align]
[align=left]this.username = username;[/align]
[align=left]}[/align]
[align=left]}[/align]
[align=left]注意,这里的两个属性分别对应我们jsp中form中的两个输入控件的名称,为什么这样做,可以去看struts的帮助文档了,我就不详细说了,还有form类再写完属性后,get和set方法可以通过eclipse的source中的命令来自动生成,在右键菜单中,也不详细说了,去网上查资料吧,关于eclipse的使用有很多的文档。 [/align]

[align=left]6、创建action对象 [/align]
[align=left]同创建form的过程相同,我们只是新建一个com.is.action包,同样的过程,打开新建向导,只是选择Struts Action,创建LoginAction.java类,均选默认值。我们编辑LoginAction为如下内容: [/align]

[align=left]package com.is.action; [/align]
[align=left]import javax.servlet.http.HttpServletRequest; [/align]
[align=left]import javax.servlet.http.HttpServletResponse; [/align]
[align=left]import org.apache.struts.action.Action; [/align]
[align=left]import org.apache.struts.action.ActionForm; [/align]
[align=left]import org.apache.struts.action.ActionForward; [/align]
[align=left]import org.apache.struts.action.ActionMapping; [/align]
[align=left] [/align]
[align=left]import com.is.form.LoginForm; [/align]
[align=left] [/align]
[align=left]public class LoginAction extends Action [/align]
[align=left]{ [/align]
[align=left]private static final long serialVersionUID = 1L; [/align]
[align=left] [/align]
[align=left]public ActionForward execute[/align]
[align=left](ActionMapping mapping, [/align]
[align=left]ActionForm form, [/align]
[align=left]HttpServletRequest request,[/align]
[align=left]HttpServletResponse response) [/align]
[align=left]throws Exception { [/align]
[align=left] [/align]
[align=left]// this line is here for when the input page is upload-utf8.jsp, [/align]
[align=left] [/align]
[align=left]// it sets the correct character encoding for the response [/align]
[align=left] [/align]
[align=left]String encoding = request.getCharacterEncoding(); [/align]
[align=left] [/align]
[align=left]if ((encoding != null) && [/align]
[align=left](encoding.equalsIgnoreCase("GB2312")))[/align]
[align=left]{ [/align]
[align=left] [/align]
[align=left]response.setContentType[/align]
[align=left]("text/html; charset=GB2312"); [/align]
[align=left] [/align]
[align=left]} else { [/align]
[align=left] [/align]
[align=left]response.setContentType[/align]
[align=left]("text/html; charset=GBK"); [/align]
[align=left] [/align]
[align=left]} [/align]
[align=left] [/align]
[align=left]try { [/align]
[align=left] [/align]
[align=left]if (form instanceof LoginForm) [/align]
[align=left]{ [/align]
[align=left] [/align]
[align=left]LoginForm theForm = (LoginForm) form; [/align]
[align=left] [/align]
[align=left]if(theForm.getUsername().equals("user") && [/align]
[align=left] [/align]
[align=left]theForm.getPassword().equals("123456")) [/align]
[align=left]{ [/align]
[align=left] [/align]
[align=left]return new ActionForward("/welcome.do?type=true"); [/align]
[align=left] [/align]
[align=left]} [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]else {                           [/align]
[align=left] [/align]
[align=left]return new ActionForward("/welcome.do?type=false"); [/align]
[align=left] [/align]
[align=left]} [/align]
[align=left] [/align]
[align=left]} [/align]
[align=left]} catch (Exception e) [/align]
[align=left]{ [/align]
[align=left] [/align]
[align=left]} [/align]
[align=left] [/align]
[align=left]// this shouldn't happen in this example [/align]
[align=left] [/align]
[align=left]return null; [/align]
[align=left]                        [/align]
[align=left]                        } [/align]
[align=left]}[/align]
[align=left]注意这里是直接用ActionForward转向的,你也可以按照struts中提供的空白例程struts-blank.war中的做法进行转向,可以比较一下会有收获的。 [/align]
[align=left]7、创建登录成功页面 [/align]
[align=left]同创建index.jsp页面相同,我们创建welcome.jsp页面,均使用默认设置。并编辑其内容如下: [/align]

[align=left]<%@page pageEncoding="GBK" [/align]
[align=left]contentType="text/html; [/align]
[align=left]charset=GBK" %>[/align]
[align=left]<html> [/align]
[align=left]<head> [/align]
[align=left]<meta http-equiv="Content-Type" [/align]
[align=left]content="text/html;[/align]
[align=left]charset=GBK"/> [/align]
[align=left]<title></title> [/align]
[align=left]</head> [/align]
[align=left]<body> [/align]
[align=left]<% [/align]
[align=left]String type = request.getParameter("type"); [/align]
[align=left]if(type!=null&&type.equals("true")){ [/align]
[align=left]out.print("欢迎您的光临!"); [/align]
[align=left] [/align]
[align=left]} [/align]
[align=left]else{ [/align]
[align=left]out.print("对不起,你输入的用户名或者密码错误!"); [/align]
[align=left]} [/align]
[align=left]%> [/align]
[align=left]</body> [/align]
[align=left]</html>[/align]
[align=left]8、增加Struts-config.xml中的配置 [/align]
[align=left]添加formbean的配置,在和标签之间加入: [/align]

[align=left]<form-bean [/align]
[align=left]name="loginForm" [/align]
[align=left]type="com.is.form.LoginForm"/>[/align]
[align=left]添加jsp文件的映射,在和标签之间加入: [/align]

[align=left]<action [/align]
[align=left]path="/index" [/align]
[align=left]forward="/index.jsp"/> [/align]
[align=left]<action [/align]
[align=left]path="/welcome" [/align]
[align=left]forward="/welcome.jsp"/>[/align]
[align=left]添加action文件的映射,在和标签之间加入: [/align]

[align=left]path="/logincheck" [/align]
[align=left]type="com.is.action.LoginAction" [/align]
[align=left]name="loginForm" [/align]
[align=left]scope="request" [/align]
[align=left]validate="true"/>[/align]
[align=left]修改后的struts-config.xml大致如下形式: [/align]

[align=left]<?xml version="1.0"?> [/align]
[align=left]<!DOCTYPE struts-config PUBLIC "-[/align]
[align=left]//Apache Software Foundation[/align]
[align=left]//DTD Struts Configuration 1.2//EN"[/align]
[align=left]"http://struts.apache.org/dtds[/align]
[align=left]/struts-config_1_2.dtd"> [/align]
[align=left]<struts-config> [/align]
[align=left]<data-sources> [/align]
[align=left]</data-sources> [/align]
[align=left]<form-beans> [/align]
[align=left]<form-bean [/align]
[align=left]name="loginForm" [/align]
[align=left]type="com.is.form.LoginForm"/> [/align]
[align=left]</form-beans> [/align]
[align=left]<global-exceptions> [/align]
[align=left]</global-exceptions> [/align]
[align=left]<global-forwards> [/align]
[align=left]</global-forwards> [/align]
[align=left]<action-mappings> [/align]
[align=left]<action [/align]
[align=left]path="/index" [/align]
[align=left]forward="/index.jsp"/> [/align]
[align=left]<action [/align]
[align=left]path="/welcome" [/align]
[align=left]forward="/welcome.jsp"/>    [/align]
[align=left]<action [/align]
[align=left]path="/logincheck" [/align]
[align=left]type="com.is.action.LoginAction" [/align]
[align=left]name="loginForm" [/align]
[align=left]scope="request" [/align]
[align=left]validate="true"/> [/align]
[align=left]</action-mappings> [/align]
[align=left] <controller processorClass=[/align]
[align=left] "org.apache.struts.tiles.TilesRequestProcessor"/> [/align]
[align=left]<message-resources parameter="MessageResources"/> [/align]
[align=left]<plug-in className=[/align]
[align=left]"org.apache.struts.tiles.TilesPlugin"> [/align]
[align=left]<set-property property="definitions-config" [/align]
[align=left]value="/WEB-INF/tiles-defs.xml"/> [/align]
[align=left]<set-property property="moduleAware" value="true"/> [/align]
[align=left]</plug-in> [/align]
[align=left]<plug-in className=[/align]
[align=left]"org.apache.struts.validator.ValidatorPlugIn"> [/align]
[align=left]<set-property property="pathnames"[/align]
[align=left]value="/WEB-INF/validator-rules.xml,[/align]
[align=left]/WEB-INF/validation.xml"/> [/align]
[align=left]</plug-in> [/align]
[align=left]</struts-config>[/align]
[align=left]到此我们可以运行测试程序了。 [/align]
[align=left]9、运行测试程序 [/align]
[align=left]右键点击testweb工程根目录,点击菜单中的Tomcate project->update context definition,将工程部署进tomcat,成功后会提示操作成功。 [/align]
[align=left]点击菜单栏中的雄猫图标启动tomcat,然后在IE地址栏中输入http://localhost:8080/testweb/index.do,我们会看到index.jsp的页面内容。 [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息