Struts的优点:
1. 使用HTTP协议
2. 使用容器默认日志系统
3. 不需要配置单独的包
4. 处理过程中处理状态信息,利用debug控件
5. Java文档全
6. 支持本地化和国际化
我的第一个STRUTS 学习程序
使用工具: ECLIPSE3.2.1+MYECLIPSE5.0GA
1 新建立一个WEB项目
2。加载STRUTS框架
3 新建立一个FORM ACTION AND JSP
5 部署到TOMCAT 5.5.23 容器中
访问结果
附件:相关的源代码:
struts_config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="regditForm" type="my.test.struts.form.RegditForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="regditForm"
input="/regdit.jsp"
name="regditForm"
path="/regdit"
type="my.test.struts.action.RegditAction">
<forward
name="show"
path="show.jsp"
redirect="true" />
</action>
</action-mappings>
<message-resources parameter="my.test.struts.ApplicationResources" />
</struts-config>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="regditForm" type="my.test.struts.form.RegditForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="regditForm"
input="/regdit.jsp"
name="regditForm"
path="/regdit"
type="my.test.struts.action.RegditAction">
<forward
name="show"
path="show.jsp"
redirect="true" />
</action>
</action-mappings>
<message-resources parameter="my.test.struts.ApplicationResources" />
</struts-config>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>regdit.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>regdit.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
RegditAction.java
/**//*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package my.test.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import my.test.struts.form.RegditForm;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/** *//**
* MyEclipse Struts
* Creation date: 05-16-2007
*
* XDoclet definition:
* @struts.action path="/regdit" name="regditForm" input="/regdit.jsp" validate="true"
*/
public class RegditAction extends Action ...{
/**//*
* Generated Methods
*/
/** *//**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) ...{
RegditForm regditForm = (RegditForm) form;// TODO Auto-generated method stub
return mapping.findForward("show");
}
}
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package my.test.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import my.test.struts.form.RegditForm;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/** *//**
* MyEclipse Struts
* Creation date: 05-16-2007
*
* XDoclet definition:
* @struts.action path="/regdit" name="regditForm" input="/regdit.jsp" validate="true"
*/
public class RegditAction extends Action ...{
/**//*
* Generated Methods
*/
/** *//**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) ...{
RegditForm regditForm = (RegditForm) form;// TODO Auto-generated method stub
return mapping.findForward("show");
}
}
RegditForm.java
/**//*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package my.test.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
/** *//**
* MyEclipse Struts
* Creation date: 05-16-2007
*
* XDoclet definition:
* @struts.form name="regditForm"
*/
public class RegditForm extends ActionForm ...{
/**//*
* Generated fields
*/
/** *//** password property */
private String password;
/** *//** username property */
private String username;
/**//*
* Generated Methods
*/
/** *//**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) ...{
// TODO Auto-generated method stub
return null;
}
/** *//**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) ...{
// TODO Auto-generated method stub
}
/** *//**
* Returns the password.
* @return String
*/
public String getPassword() ...{
return password;
}
/** *//**
* Set the password.
* @param password The password to set
*/
public void setPassword(String password) ...{
this.password = password;
}
/** *//**
* Returns the username.
* @return String
*/
public String getUsername() ...{
return username;
}
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package my.test.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
/** *//**
* MyEclipse Struts
* Creation date: 05-16-2007
*
* XDoclet definition:
* @struts.form name="regditForm"
*/
public class RegditForm extends ActionForm ...{
/**//*
* Generated fields
*/
/** *//** password property */
private String password;
/** *//** username property */
private String username;
/**//*
* Generated Methods
*/
/** *//**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) ...{
// TODO Auto-generated method stub
return null;
}
/** *//**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) ...{
// TODO Auto-generated method stub
}
/** *//**
* Returns the password.
* @return String
*/
public String getPassword() ...{
return password;
}
/** *//**
* Set the password.
* @param password The password to set
*/
public void setPassword(String password) ...{
this.password = password;
}
/** *//**
* Returns the username.
* @return String
*/
public String getUsername() ...{
return username;
}