struts簡單例子的分析(含代碼註釋和配置文件說明) - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- struts簡單例子的分析(含代碼註釋和配置文件說明) (http://www.webasp.net/article/19/18065.htm) |
| -- 作者:未知 -- 發佈日期: 2005-04-28 |
| <!-- 以下僅為個人經驗,供大家參考。不足或謬誤之處請大家指教 -->
<!-- 徐建明 --> 首先你要對你的環境進行配置 配置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/你的文件夾/ 這是一個簡單的例子,希望大家能喜歡,不知道我的講解是否正確,請指教! |
| webasp.net |