• 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/你的文件夹/

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

  • 相关阅读:
    【python】Python 资源大全中文版
    获取最新chromedriver.exe的方法,并查阅最新的chromedriver.exe支持到什么chrome版本
    appium 重新启动apk
    git 命令操作
    [转]IDEA 出现编译错误 Multi-catches are not supported a this language level 解决方法
    jmeter压测前清理内存
    清理kafka zookeeper
    windows 自动移动maven jar包到jmeter 文件夹下面
    jmeter 压测duobbo接口,施压客户端自己把自己压死了
    kafak manager + zookeeper + kafka 消费队列快速清除
  • 原文地址:https://www.cnblogs.com/buffer/p/1613246.html
Copyright © 2020-2023  润新知