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