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.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/你的文件夾/

這是一個簡單的例子,希望大家能喜歡,不知道我的講解是否正確,請指教! 
 
 
 

本篇文章來源於 黑基網-中國最大的網絡安全站點 原文鏈接:http://www.hackbase.com/lib/2007-05-04/16360.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章