zoukankan      html  css  js  c++  java
  • struts简单例子的分析

    Struts简单例子的分析(含代码注释和配置文件说明)

    <!-- 以下仅为个人经验,供大家参考。不足或谬误之处请大家指教 -->

    <!-- 徐建明 -->

    首先你要对你的环境进行配置

    配置TomCat环境

    1、到我的机器(IP为192.1.168.7,用户为Guest,口令没有)上的"共享"目录中,拷贝j2sdk-1_4_2_02-Windows-i586-p.exe、jakarta-tomcat-5.0.14.zip、jakarta-struts-1.1.zip三个压包文件。

    2、先双击j2sdk-1_4_2_02-windows-i586-p.exe安装JDK,最好安装到一个根目录下。在此假设安装在D:\j2sdk1.4.2_02下。

    3、安装TOMCAT。TOMCAT不用安装,只用直接解压jakarta-tomcat-5.0.14.zip到硬盘上。假设解压到D:\TOMCAT下。

    4、配置环境变量。右键点击"我的电脑"图标,选择"高级"子项,点击"环境变量"按扭。在"系统变量"中新建如下几个环境变量:

    名称 键值 说明

    Java_HOME D:\j2sdk1.4.2_02 就是你的JDK的安装目录

    CLASSPATH .;%JAVA_HOME%\LIB

    5、解压jakarta-struts-1.1.zip到任一目录,将其中\jakarta-struts-1.1\Webapp目录下的struts-example.war文件拷贝到TOMCAT下的\tomcat\webapps中

    6、进入\tomcat\bin目录,点击startup.bat以启动TomCat。(TomCat启动后点击shutdown.bat可关闭)

    7、让TomCat在后台运行,打开ie,在地址栏中输入http://localhost:8080/可进入TomCat的主页,输入http://localhost:8080/struts-example可进入struts的一个例子。

    祝大家安装顺利 :)

    然后,我们来看一下STRUTS例子中的最重要的两个文件,这两个都是配置文件,

    struts-config.XML(具体配置的情况我作了注释)

    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <!DOCTYPE struts-config PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"

    "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

    <!--

    This is the Struts configuration file for the example application,

    using the proposed new syntax.

    -->

    <struts-config>

    <!-- ========== Form Bean Definitions =================================== -->

    <!-- FormBean是struts的一个概念,本质是JavaBean,用来自动存储页面表单中各个域的值,并在适当的时候回填表单域,不需要象传统那样request.getParameter("fieldName");,常被action-mappings中的action 使用 -->

    <form-beans>

    <!-- 稍后我们会新增一个GetparameterForm类,用来存储用户信息 -->

    <form-bean type="beans.GetParameterForm"/>

    </form-beans>

    <!-- ========== Global Forward Definitions ============================== -->

    <!--这里存放整个系统都可以使用的全局转向中转(Forward)地址 -->

    <!-- 一般情况下,一个Action处理完毕后,会转发到一个JSP页面进行显示。这也是JSP中的MVC的实现的要点。-->

    <global-forwards>

    <!--failed.do和success.do将被当成Servlet请求,到action-mappings中寻找对应的action处理。-->

    <forward path="/success.do"/>

    <forward path="/fail.do"/>

    </global-forwards>

    <!-- ========== Action Mapping Definitions ============================== -->

    <!--web.xml中后缀为.do的请求被转到这里处理。这里相当于struts的Model部分,Model部分是struts中比较灵活的地方。-->

    <action-mappings>

    <!--处理showinput.do的请求,使用的FormBean是GetparameterForm,既beans.GetParameterForm类,当处理过程发生错误时将返回index.jsp-->

    <action path="/showinput" type="beans.ShowAction" scope="request" input="/index.jsp" />

    <action path="/success" forward="/success.jsp"/>

    <action path="/fail" forward="/error.jsp" />

    </action-mappings>

    </struts-config>

    web.xml(具体配置的情况我作了注释)

    <!-- Action Servlet Mapping -->

    <!--该系统的servlet可以映射成.do为后缀的文件,后缀名可以改成任何名称.-->

    <servlet-mapping>

    <servlet-name>action</servlet-name>

    <url-pattern>*.do</url-pattern>

    </servlet-mapping>

    <!-- The Welcome File List -->

    <!--该系统的默认首页是index.jsp,可以有多个,系统按次序找,类似IIS-->

    <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

    <!-- Application Tag Library Descriptor -->

    <!-- 定义标签库 -->

    <!--

    <taglib>

    <taglib-uri>/WEB-INF/app.tld</taglib-uri>

    <taglib-location>/WEB-INF/app.tld</taglib-location>

    </taglib>

    -->

    </web-app>

    这两个文件是我们用JDK+TOMCAT+STRUTS的基本配置,注意:在更改了这个配置后需要对TOMCAT进行重新启动!

    在\你的目录\中存放你的.JSP文件,他们的编写你可以使用HTML或FRONGPAGE等工具编写,对于大家这个是比较简单的,在此我就不再觜书,代码如下:

    INDEX.JSP

    <%@ page contentType="text/html;charset=gb2312"%>

    <%@ page import="java.util.*,java.sql.*,java.text.*,java.io.*"%>

    <form method="post" action="showinput.do">

    输入success将返回到"success"页面,否则返回到"fail"页面<br><br>

    input:<input name="valu">  <input value="submit">

    </form>

    <br>

    <a href="success.do">success</a><br>

    <a href="fail.do">fail</a>

    SUCCESS.JSP

    <%@ page contentType="text/html;charset=gb2312"%>

    <%@ page import="java.util.*,java.sql.*,java.text.*,java.io.*"%>

    success!

    ERROR.JSP

    <%@ page contentType="text/html;charset=gb2312"%>

    <%@ page import="java.util.*,java.sql.*,java.text.*,java.io.*"%>

    error page!

    再在\你的文件夹\WEB-INF\classes\beans中我们编写需要处理消息请求的类。具体代码如下:

    GetParameterForm.java

    package beans;

    import org.apache.struts.action.ActionForm;

    public class GetParameterForm extends ActionForm

    {

    private String valu="null";

    public GetParameterForm() {

    }

    public void setValu(String s) {

    valu = s;

    }

    public String getValu() {

    return valu;

    }

    }

    ShowAction.java

    package beans;

    import java.lang.reflect.InvocationTargetException;

    import java.util.Locale;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpSession;

    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.action.*;

    import org.apache.struts.util.*;

    public final class ShowAction extends Action

    {

    public ActionForward execute(ActionMapping mapping,

    ActionForm form,

    HttpServletRequest request,

    HttpServletResponse response)

    throws Exception {

    Locale locale = getLocale(request);

    MessageResources messages = getResources(request);

    HttpSession session = request.getSession();

    GetParameterForm userform = (GetParameterForm) form;

    if(userform.getValu().equals("success")) {

    return(mapping.findForward("success"));

    }

    else {

    System.out.println(userform.getValu());

    return(mapping.findForward("fail"));

    }

    }

    }

    最后你可以运行了。

    在TOMCAT中地址中填写http://localhost:8080/你的文件夹/

    这是一个简单的例子,希望大家能喜欢,不知道我的讲解是否正确,请指教!

  • 相关阅读:
    SDUT 2143 图结构练习——最短路径 SPFA模板,方便以后用。。 Anti
    SDUT ACM 1002 Biorhythms 中国剩余定理 Anti
    nyist OJ 119 士兵杀敌(三) RMQ问题 Anti
    SDUT ACM 2157 Greatest Number Anti
    SDUT ACM 2622 最短路径 二维SPFA启蒙题。。 Anti
    二叉索引树 区间信息的维护与查询 Anti
    SDUT ACM 2600 子节点计数 Anti
    UVA 1428 Ping pong 二叉索引树标准用法 Anti
    2010圣诞Google首页效果
    Object
  • 原文地址:https://www.cnblogs.com/buffer/p/1613246.html
Copyright © 2011-2022 走看看