最简单的Struts程序(1)

[目标]

    实现一个最简单的Struts程序。程序包括一个输入页和输出页,输入页。

    对于学习程序设计,我们已习惯于从Hello程序开始,实践证明,这是一个最有效的入门方法。下面就着手设计我们的第一个Struts程序----Hello程序。Hello程序的目标是实现从一个输入JSP页面中的输入框输入一个“我爱struts”单词,在另一个输出JSP页面中显示“我爱struts”一词。根据Struts框架的要求,这个Hello程序将包含输入JSP文件、输出JSP文件、Action文件、FormAction文件及配置文件。也就是说,这个Hello程序是一个完整的Struts程序,它可直接在Tomact、websphere等服务器上运行。

[效果]


输入页面:



输出页面:



[步骤]

1、打开MyEclipse开发环境(安装配置可参考我前面的教程)。
新建一个WEB项目“suan_struts01”,并且导入struts相关资料包,具体方法是见下图:

2、右键选择项目新建两个JSP文件“hello.jsp”、“helloOut.jsp”,具体内容如下:

hello.jsp

<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html:html>
<head>
 <title></title>
 <html:base />
</head>
<body bgcolor="white">
 <html:form action="/helloAction.do" method="post">
  <html:text property="mybeanvariable1" />
  <html:submit value="提交" />
  <html:reset value="重写" />
 </html:form>
</body>
</html:html>

helloOut.jsp

<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html:html>
<head>
 <title></title>
 <html:base />
</head>
<body bgcolor="white">
 <html:html>
 <head>
  <title></title>
  <html:base />
 </head>
 <body bgcolor="white">
  <bean:write name="helloForm" property="mybeanvariable1" />
 </body>
 </html:html>
</body>
</html:html>

3、新建form bean(HelloForm.java)和action bean(HelloAction.java),分别如下:

HelloForm.java

package com.sql.struts;
import org.apache.struts.action.ActionForm;

public class HelloForm extends ActionForm 
{
        private String mybeanvariable1;
        public String getMybeanvariable1()
        {
            return (this.mybeanvariable1);
        }
        public void setMybeanvariable1(String mybeanvariable1)
        {
            this.mybeanvariable1=mybeanvariable1;
        }
}

HelloAction.java

package com.sql.struts;

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;

public final class HelloAction extends Action{
 public ActionForward execute(ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception
  {
   HelloForm myform = (HelloForm) form;
   String s=null;
   try{
    String variable1 = myform.getMybeanvariable1();
    byte temp[]= variable1.getBytes("ISO-8859-1");
    s=new String(temp);       
   }catch(Exception e){}
   try{
    if (s.trim().equals("")){
     return new ActionForward(mapping.getInput());
    }
    else{
     myform.setMybeanvariable1(s);
     return (mapping.findForward("success"));   
    }
   }
   catch (Exception e){
    throw new RuntimeException(e.getMessage());
   }
  }
}

4、修改struts-config.xml,内容如下:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
          "
http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
  <form-beans>
   <form-bean  name="helloForm"  type="com.sql.struts.HelloForm"   />
</form-beans>
  <action-mappings>
  <action  path="/helloAction"  
   type="com.sql.struts.HelloAction"
            name="helloForm"                 
            scope="request"
            input="/hello.jsp">
 <forward name="success"   path="/helloOut.jsp"   />
</action>
</action-mappings>
</struts-config>


完成后的项目结构如下图所示:

最后在MyEclipse中加载项目,然后启动服务器(tomcat),在MyEclipse自带的浏览器中输入:

http://localhost:8089/suan_struts01/hello.jsp   即可看到前面的运行效果。

好累呀,下次再给大家写,(由于也是刚开始学STRUTS,所以还请各位赐教啊!!)

输入页面:



输出页面:



[步骤]

1、打开MyEclipse开发环境(安装配置可参考我前面的教程)。
新建一个WEB项目“suan_struts01”,并且导入struts相关资料包,具体方法是见下图:

2、右键选择项目新建两个JSP文件“hello.jsp”、“helloOut.jsp”,具体内容如下:

hello.jsp

<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html:html>
<head>
 <title></title>
 <html:base />
</head>
<body bgcolor="white">
 <html:form action="/helloAction.do" method="post">
  <html:text property="mybeanvariable1" />
  <html:submit value="提交" />
  <html:reset value="重写" />
 </html:form>
</body>
</html:html>

helloOut.jsp

<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html:html>
<head>
 <title></title>
 <html:base />
</head>
<body bgcolor="white">
 <html:html>
 <head>
  <title></title>
  <html:base />
 </head>
 <body bgcolor="white">
  <bean:write name="helloForm" property="mybeanvariable1" />
 </body>
 </html:html>
</body>
</html:html>

3、新建form bean(HelloForm.java)和action bean(HelloAction.java),分别如下:

HelloForm.java

package com.sql.struts;
import org.apache.struts.action.ActionForm;

public class HelloForm extends ActionForm 
{
        private String mybeanvariable1;
        public String getMybeanvariable1()
        {
            return (this.mybeanvariable1);
        }
        public void setMybeanvariable1(String mybeanvariable1)
        {
            this.mybeanvariable1=mybeanvariable1;
        }
}

HelloAction.java

package com.sql.struts;

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;

public final class HelloAction extends Action{
 public ActionForward execute(ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception
  {
   HelloForm myform = (HelloForm) form;
   String s=null;
   try{
    String variable1 = myform.getMybeanvariable1();
    byte temp[]= variable1.getBytes("ISO-8859-1");
    s=new String(temp);       
   }catch(Exception e){}
   try{
    if (s.trim().equals("")){
     return new ActionForward(mapping.getInput());
    }
    else{
     myform.setMybeanvariable1(s);
     return (mapping.findForward("success"));   
    }
   }
   catch (Exception e){
    throw new RuntimeException(e.getMessage());
   }
  }
}

4、修改struts-config.xml,内容如下:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
          "
http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
  <form-beans>
   <form-bean  name="helloForm"  type="com.sql.struts.HelloForm"   />
</form-beans>
  <action-mappings>
  <action  path="/helloAction"  
   type="com.sql.struts.HelloAction"
            name="helloForm"                 
            scope="request"
            input="/hello.jsp">
 <forward name="success"   path="/helloOut.jsp"   />
</action>
</action-mappings>
</struts-config>


完成后的项目结构如下图所示:

最后在MyEclipse中加载项目,然后启动服务器(tomcat),在MyEclipse自带的浏览器中输入:

http://localhost:8089/suan_struts01/hello.jsp   即可看到前面的运行效果。

好累呀,下次再给大家写,(由于也是刚开始学STRUTS,所以还请各位赐教啊!!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值