|
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.1\Webapp目录下的struts-example.war文件拷贝到TOMCAT下的\tomcat\webapps中 6、进入\tomcat\bin目录,点击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-INF\classes\beans中我们编写需要处理消息请求的类。具体代码如下:
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/你的文件夹/
这是一个简单的例子,希望大家能喜欢,不知道我的讲解是否正确,请指教!
|