程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> struts簡單例子的分析(含代碼注釋和配置文件說明)

struts簡單例子的分析(含代碼注釋和配置文件說明)

編輯:JAVA編程入門知識

  <!-- 以下僅為個人經驗,供大家參考。不足或謬誤之處請大家指教 -->
  <!-- 徐建明 -->
  
  首先你要對你的環境進行配置
  
  配置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/你的文件夾/
  
  這是一個簡單的例子,希望大家能喜歡,不知道我的講解是否正確,請指教!
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved