广

Java编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-10-13 10:38:55 次阅读 稿源:互联网
    零七广告

      <!-- 以下仅为个人经验,供大家参考。不足或谬误之处请大家指教 -->
      <!-- 徐建明 -->
      
      首先你要对你的环境进行配置
      
      配置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.1webapp目录下的struts-example.war文件拷贝到TOMCAT下的 omcatwebapps中
      6、进入 omcatin目录,点击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 name="GetParameterForm" type="beans.GetParameterForm"/>
      </form-beans>
      
       <!-- ========== Global Forward Definitions ============================== -->
      <!--这里存放整个系统都可以使用的全局转向中转(Forward)地址 -->
      <!-- 一般情况下,一个Action处理完毕后,会转发到一个jsp页面进行显示。这也是JSP中的MVC的实现的要点。-->
      <global-forwards>
      <!--failed.do和sUCcess.do将被当成servlet请求,到action-mappings中寻找对应的action处理。-->
      <forward name="success" path="/success.do"/>
      <forward name="fail" 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" name="GetParameterForm" 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 name="form1" method="post" action="showinput.do">
      输入success将返回到"success"页面,否则返回到"fail"页面<br><br>
      input:<input type="text" name="valu">  <input type="submit" 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-INFclasseseans中我们编写需要处理消息请求的类。具体代码如下:
      
      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/你的文件夹/
      
      这是一个简单的例子,希望大家能喜欢,不知道我的讲解是否正确,请指教!
     

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告