新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Java, J2SE, J2ME, J2EE, 以及Eclipse, NetBeans, JBuilder等Java开发环境,还有JSP, JavaServlet, JavaBean, EJB以及struts, hibernate, spring, webwork2, Java 3D, JOGL等相关技术。
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Java/Eclipse 』 → struts学习体会(更新) 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 16014 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: struts学习体会(更新) 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     enorm 帅哥哟,离线,有人找我吗?
      
      
      威望:4
      头衔:头衔
      等级:大三暑假(参加全国数模竞赛拿了一等奖)(版主)
      文章:144
      积分:854
      门派:Lilybbs.net
      注册:2005/12/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给enorm发送一个短消息 把enorm加入好友 查看enorm的个人资料 搜索enorm在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看enorm的博客楼主
    发贴心情 struts学习体会(更新)

    一、准备安装程序

      1、JDK 5.0 安装程序下载

      下载地址:

    https://jsecom15b.sun.com/ECom/EComActionServlet/DownloadPage:~:com.sun.sunit.sdlc.content.DownloadPageInfo;jsessionid=502E87C71D77E3BC297C08B35DAC9AD4;jsessionid=502E87C71D77E3BC297C08B35DAC9AD4

      同意协议后,可以下载jdk-1_5_0_05-windows-i586-p.exe。

      2、tomcat 5.5.9下载

      下载地址:http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi

      最新版本是5.5.11alpha版,由于是测试版,所以,可能存在不确定的因素,所以,我们这里下载5.5.9 exe。

      3、Sysdeo Eclipse Tomcat Launcher plugin 3.1beta版下载

      下载地址:http://www.sysdeo.com/eclipse/tomcatplugin

      这里下载tomcatPluginV31beta.zip。

      4、eclipse 3.1安装程序下载

      下载地址:http://www.eclipse.org/downloads/index.php

      这里需要对应版本的JDT,如果下载的是Eclipse SDK版本就自带了,如果没有,同一个下载页面的靠后部分有JDT的下载链接,下载后将对应的文件分别拷贝进eclipse安装目录下的对应的文件夹即可。

      这里我们下载eclipse-SDK-3.1-win32.zip 。

      5、GEF 3.1 安装程序下载

      下载地址:

    http://download.eclipse.org/tools/gef/downloads/drops/R-3.1-200507071758/index.php

      这里我们下载GEF-ALL-3.1.zip。

      6、Eclipse HTML Editor 1.6.7 安装程序下载

      下载地址:https://sourceforge.jp/projects/amateras/files/?release_id=16537#16537

      这里我们下载:tk.eclipse.plugin.htmleditor_1.6.7.zip。

      7、StrutsIDE 1.1.7 安装程序下载

      下载地址:https://sourceforge.jp/projects/amateras/files/?release_id=16537#16537

      这里我们下载:tk.eclipse.plugin.struts_1.1.7.zip。

      好了,到此我们准备好了所有的安装包。
     二、安装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安装完成。

      创建测试工程

      如果已经完成了上面所有步骤,现在可以重新启动eclipse,使新安装的插件生效,开始正式开发了。

      1、使用Sysdeo Tomcat Plugin创建tomcat工程:

      File->new->others,打开新建向导对话框,在树中找到java->tomcat projects,选中,点击next按钮。在projects name中输入textweb,选中Use default,点击next。在下一个对话页面,保持默认设置,点击finished。这时,我们在eclipse的package explorer中会看到新建的工程testweb,创建完成。

      2、加入struts框架

      File->new->others,打开新建向导对话框,找到Amateras->Struts->Add Struts Support,选中点击next按钮。

      保持默认设置,点击Finish按钮。这时,在eclipse的package explorer中会看到增加了很多struts的库文件,在WEB-INF下也增加了很多struts的配置文件。到此我们已经在项目加入了Struts框架。

      3、编辑struts-config.xml文件

      在WEB-INF文件夹下可以找到,右键点击菜单中选择open with->Amateras XML Editer可以直接对xml文本进行编辑,选择open with->struts-config.xml editor可以在图形模式下对文件进行编辑。

      在右边的outline中点击相应的struts对象可以添加新的对象进去。这里我们只是说明这里有一个比较方便的struts-config.xml文件的编辑器,后面我们将开发一个简单的小程序。

    4、新建一个页面index.jsp

      File->new->others,打开新建向导对话框,找到Amateras->JSP File,点击next按钮,FileName改为index.jsp,点击Finish。然后打开index.jsp文件进行编辑,内容如下:

    <%@page pageEncoding="GBK"
    contentType="text/html;
    charset=gb2312" %>
    <html>
    <head>
    <meta http-equiv="Content-Type"
    content="text/html;
    charset=gb2312"/>
    <title></title>
    </head>
    <body>
    <form name="form1" method="post"
    action="/textweb/logincheck.do">
    <table width="300"  border="0"
    cellspacing="0" cellpadding="0">
    <tr align="center">
    <td colspan="2">用户登录信息</td>
    </tr>
    <tr>
    <td>用户名</td>
    <td>
    <input name="username"
    type="text" id="username"
    size="12">
    user    
    </td>
    </tr>
    <tr>
    <td>用户密码</td>
    <td>
    <input name="password"
    type="text" id="password"
    size="12">
    123456    
    </td>
    </tr>
    <tr align="center">
    <td colspan="2"><input
    type="submit" name="Submit"
    value="提交"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>

      5、创建form数据对象

      打开File->new->package对话框,name中输入com.is.form,点击Finish按钮。在右边的Package Explorer树中找到刚才创建的包,右键点击com.is.form包,菜单中的new->others,找到Amateras->struts->Struts Action Form,点击next,在对话框中name栏输入LoginForm,点击Finish按钮。

      编辑LoginForm类的内容为:

    package com.is.form;
    import org.apache.struts.action.ActionForm;
    public class LoginForm extends ActionForm
    {
    private static final long
    serialVersionUID = 1L;
    private String username = "";
    private String password = "";
    /**
    * @return Returns the password.
    */
    public String getPassword()
    {
    return password;
    }

    /**

    * @param password The password to set.
    */
    public void setPassword(String password)
    {
    this.password = password;
    }
    /**
    * @return Returns the username.
    */
    public String getUsername()
    {
    return username;
    }
    /**
    * @param username The username to set.
    */
    public void setUsername(String username)
    {
    this.username = username;
    }
    }

      注意,这里的两个属性分别对应我们jsp中form中的两个输入控件的名称,为什么这样做,可以去看struts的帮助文档了,我就不详细说了,还有form类再写完属性后,get和set方法可以通过eclipse的source中的命令来自动生成,在右键菜单中,也不详细说了,去网上查资料吧,关于eclipse的使用有很多的文档
    七、安装Eclipse HTML Editor插件

      解压缩tk.eclipse.plugin.htmleditor_1.6.7.zip包,然后将plugins目录拷贝至D:\eclipse目录下覆盖原文件夹即可。到此Eclipse HTML Editor插件安装完成。

      八、安装StrutsIDE插件

      解压缩tk.eclipse.plugin.struts_1.1.7.zip包,然后将plugins目录拷贝至D:\eclipse目录下覆盖原文件夹即可。

      好了,到此StrutsIDE插件安装完成。

      创建action对象

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

    package com.is.action;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;

    import com.is.form.LoginForm;

    public class LoginAction extends Action
    {
    private static final long serialVersionUID = 1L;

    public ActionForward execute
    (ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception {

    // this line is here for when the input page is upload-utf8.jsp,

    // it sets the correct character encoding for the response

    String encoding = request.getCharacterEncoding();

    if ((encoding != null) &&
    (encoding.equalsIgnoreCase("GB2312")))
    {

    response.setContentType
    ("text/html; charset=GB2312");

    } else {

    response.setContentType
    ("text/html; charset=GBK");

    }

    try {

    if (form instanceof LoginForm)
    {

    LoginForm theForm = (LoginForm) form;

    if(theForm.getUsername().equals("user") &&

    theForm.getPassword().equals("123456"))
    {

    return new ActionForward("/welcome.do?type=true");

    }


    else {                           

    return new ActionForward("/welcome.do?type=false");

    }

    }
    } catch (Exception e)
    {

    }

    // this shouldn't happen in this example

    return null;
         
        }
    }

      注意这里是直接用ActionForward转向的,你也可以按照struts中提供的空白例程struts-blank.war中的做法进行转向,可以比较一下会有收获的。
    创建登录成功页面

      同创建index.jsp页面相同,我们创建welcome.jsp页面,均使用默认设置。并编辑其内容如下:

    <%@page pageEncoding="GBK"
    contentType="text/html;
    charset=GBK" %>
    <html>
    <head>
    <meta http-equiv="Content-Type"
    content="text/html;
    charset=GBK"/>
    <title></title>
    </head>
    <body>
    <%
    String type = request.getParameter("type");
    if(type!=null&&type.equals("true")){
    out.print("欢迎您的光临!");

    }
    else{
    out.print("对不起,你输入的用户名或者密码错误!");
    }
    %>
    </body>
    </html>

      增加Struts-config.xml中的配置

      添加formbean的配置,在和标签之间加入:

    <form-bean
    name="loginForm"
    type="com.is.form.LoginForm"/>

      添加jsp文件的映射,在和标签之间加入:

    <action
    path="/index"
    forward="/index.jsp"/>
    <action
    path="/welcome"
    forward="/welcome.jsp"/>

      添加action文件的映射,在和标签之间加入:

    path="/logincheck"
    type="com.is.action.LoginAction"
    name="loginForm"
    scope="request"
    validate="true"/>

      修改后的struts-config.xml大致如下形式:

    <global-forwards>
    </global-forwards>
    <action-mappings>
    <action
    path="/index"
    forward="/index.jsp"/>
    <action
    path="/welcome"
    forward="/welcome.jsp"/>    
    <action
    path="/logincheck"
    type="com.is.action.LoginAction"
    name="loginForm"
    scope="request"
    validate="true"/>
    </action-mappings>
    <controller processorClass=
    "org.apache.struts.tiles.TilesRequestProcessor"/>
    <message-resources parameter="MessageResources"/>
    <plug-in className=
    "org.apache.struts.tiles.TilesPlugin">
    <set-property property="definitions-config"
    value="/WEB-INF/tiles-defs.xml"/>
    <set-property property="moduleAware" value="true"/>
    </plug-in>
    <plug-in className=
    "org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames"
    value="/WEB-INF/validator-rules.xml,
    /WEB-INF/validation.xml"/>
    </plug-in>
    </struts-config>

      运行测试程序

      右键点击testweb工程根目录,点击菜单中的Tomcate project->update context definition,将工程部署进tomcat,成功后会提示操作成功。

      点击菜单栏中的雄猫图标启动tomcat,然后在IE地址栏中输入http://localhost:8080/textweb/index.do,我们会看到index.jsp的页面内容
    ——————————————————————————————————————————

    按照这个教程可以做出一个struts的deamo,本文转自http://searchwebservices.techtarget.com.cn/tips/446/2137446.shtml
    原文有几处错误,已改正~~~~~~~~~~~~


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    天亮了

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/6 21:26:00
     
     pennyliang 帅哥哟,离线,有人找我吗?白羊座1979-4-7
      
      
      威望:8
      等级:大二期末(C++考了100分!)
      文章:266
      积分:1911
      门派:Lilybbs.net
      注册:2005/3/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给pennyliang发送一个短消息 把pennyliang加入好友 查看pennyliang的个人资料 搜索pennyliang在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看pennyliang的博客2
    发贴心情 
    好东西啊,收藏了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/7 11:00:00
     
     whpzyp 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:55
      门派:XML.ORG.CN
      注册:2006/1/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给whpzyp发送一个短消息 把whpzyp加入好友 查看whpzyp的个人资料 搜索whpzyp在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看whpzyp的博客3
    发贴心情 
    有些东西下不了,你能不能加我QQ呢,都给我传一份,现在正在学习中
    有什么不懂的问题也可以向你请教,谢谢了,我的QQ是41587577
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/14 9:20:00
     
     shielden 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:73
      门派:Lilybbs.net
      注册:2006/2/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给shielden发送一个短消息 把shielden加入好友 查看shielden的个人资料 搜索shielden在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看shielden的博客4
    发贴心情 

    struts初学...
    正需要这样的东西啊...
    多谢楼主了!

    ----------------------------------------------
    Struts + Hiberate + Spring 架构的说...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/25 1:30:00
     
     mmmyddd 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:15
      积分:136
      门派:XML.ORG.CN
      注册:2006/2/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mmmyddd发送一个短消息 把mmmyddd加入好友 查看mmmyddd的个人资料 搜索mmmyddd在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mmmyddd的博客5
    发贴心情 
    好东西,谢了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/26 20:02:00
     
     dyong525 帅哥哟,离线,有人找我吗?巨蟹座1980-7-13
      
      
      等级:大一(高数修炼中)
      文章:20
      积分:199
      门派:XML.ORG.CN
      注册:2006/4/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给dyong525发送一个短消息 把dyong525加入好友 查看dyong525的个人资料 搜索dyong525在『 Java/Eclipse 』的所有贴子 点击这里发送电邮给dyong525  引用回复这个贴子 回复这个贴子 查看dyong525的博客6
    发贴心情 
    却是不错啊。

    ----------------------------------------------
    java编程专署群23072861

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/13 14:35:00
     
     rayleon 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:55
      门派:XML.ORG.CN
      注册:2006/4/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给rayleon发送一个短消息 把rayleon加入好友 查看rayleon的个人资料 搜索rayleon在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看rayleon的博客7
    发贴心情 
    好东西啊,又学到点,谢谢了.
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/26 18:30:00
     
     newpie 帅哥哟,离线,有人找我吗?金牛座1986-4-27
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2006/5/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给newpie发送一个短消息 把newpie加入好友 查看newpie的个人资料 搜索newpie在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看newpie的博客8
    发贴心情 
    却是不错啊。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/5/8 11:52:00
     
     zhumingqiang 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:12
      积分:115
      门派:IEEE.ORG.CN
      注册:2006/3/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zhumingqiang发送一个短消息 把zhumingqiang加入好友 查看zhumingqiang的个人资料 搜索zhumingqiang在『 Java/Eclipse 』的所有贴子 点击这里发送电邮给zhumingqiang  引用回复这个贴子 回复这个贴子 查看zhumingqiang的博客9
    发贴心情 
    辛苦楼主了,地址挺全的,例子也经典加油!!

    ----------------------------------------------
    加油,给自己他人加油。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/11/6 17:15:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Java/Eclipse 』的所有贴子 点击这里发送电邮给Google AdSense  访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/15 12:40:25

    本主题贴数9,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    128.906ms