[color=blue][/color]
使用对象 Action,ActionForm;
一: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">
<!-- 用处:设定servlet文件 访问配置 -->
<!-- 用处:设定servlet文件和struts-config文件的关联 -->
<!--设定servlet文件配置-->
<servlet>
<!--设定servlet【引用】名称:用于在XML文件中使用-->
<servlet-name>action</servlet-name>
<!-- 将【引用】名称与实体servlet类相关联-->
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<!-- 将servlet与struts_config.xml文件相关联3 -->
<init-param>
<!-- 设定struts-config.xml文件的【引用】名称 -->
<param-name>config</param-name>
<!-- 设定与【引用】名称相关联的实体struts-config.xml文件 -->
<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文件的访问地址名称 -->
<servlet-mapping>
<!-- 首先确定被设置的servlet文件 使用servlet文件的【引用】名称绑定 -->
<servlet-name>action</servlet-name>
<!-- 设定servlet文件的访问地址为 *。do -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- 设定起始页 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
二:struts-config.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<!-- 设定Action和Form文件的关联 -->
<struts-config>
<data-sources>
</data-sources>
<!-- 设定Form文件在config中的引用 -->
<form-beans>
<form-bean name="addForm" type="MyForm.form"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<!-- 设定Action文件与Form文件【引用】名称的绑定 name-->
<!-- 设定Action文件的访问地址 path-->
<!-- 设定Action文件的实体类 type-->
<!-- 设定Action文件中mapping对象内的K,V元素;K=引用,V=网页地址; forward-->
<!-- mapping.findForward("K");相当于调转页面至V name,path-->
<action-mappings >
<action
attribute="addForm"
name="addForm"
path="/action"
type="MyAction.MyAction">
<forward name="input" path="/index.jsp" />
<forward name="return" path="/index2.jsp" />
<forward name="return2" path="/index3.jsp" />
</action>
<action
name="addForm"
path="/action2"
type="MyAction.MyAction2">
<forward name="input" path="/index.jsp" />
<forward name="return" path="/index2.jsp" />
<forward name="return2" path="/index3.jsp" />
</action>
<!-- action 调用action -->
<action
name="addForm"
path="/action3"
type="MyAction.MyAction3"
>
<!-- 将另一个Action的引用地址,添加到连接地址K,V集合列表中Mapping() -->
<!-- 这样在代码中mapping.forward("地址");就可以跳转到action.do中 -->
<!-- 这样的跳转是带值的,而且带Form对象 -->
<forward name="return" path="/action.do"></forward>
</action>
<!-- 设定*.properties文件的实体对象 -->
<!-- 用处1;存放ActionMessages信息,显示到页面 -->
</action-mappings>
<message-resources key="cn" parameter="com.my.struts.ApplicationResources" />
</struts-config>
三:实体Form文件
package MyForm;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class form extends ActionForm {
private String num1;
public String getNum1() {
//测试运行
System.out.println("num1.get()");
return num1;
}
public void setNum1(String num1) {
//测试运行
System.out.println("num1.set()");
this.num1 = num1;
}
}
四:实体Action对象
对象一
package MyAction;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class MyAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ActionForward af = null;
//获取Form页面值
MyForm.form f = (MyForm.form)form;
//测试值
System.out.println("Form值"+f.getNum1());
//测试运行
System.out.println("Action.execute()");
//设定跳转
af = mapping.findForward("return");
//带跳转页面信息返回到servlet文件内执行跳转
return af;
}
}
对象2;
package MyAction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
public class MyAction2 extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
MyAction ma = new MyAction();
//Action中调用另一个Action对象方法;
//同一个工程下的对象,直接生成使用
ma.execute(mapping, form, request, response);
ActionForward af = mapping.findForward("return2");
return af;
}
}
对象3
package MyAction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
public class MyAction3 extends Action{
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//测试运行
System.out.println("MyAction3.execute()");
//跳转到另一个Action,return为config文件内对应Action配置下的forward属性
ActionForward af = mapping.findForward("return");
return af;
}
}
三:实体Form文件
package MyForm;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class form extends ActionForm {
private String num1;
public String getNum1() {
//测试运行
System.out.println("num1.get()");
return num1;
}
public void setNum1(String num1) {
//测试运行
System.out.println("num1.set()");
this.num1 = num1;
}
}
四:实体Action对象
对象一
package MyAction;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class MyAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ActionForward af = null;
//获取Form页面值
MyForm.form f = (MyForm.form)form;
//测试值
System.out.println("Form值"+f.getNum1());
//测试运行
System.out.println("Action.execute()");
//设定跳转
af = mapping.findForward("return");
//带跳转页面信息返回到servlet文件内执行跳转
return af;
}
}
对象2;
package MyAction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
public class MyAction2 extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
MyAction ma = new MyAction();
//Action中调用另一个Action对象方法;
//同一个工程下的对象,直接生成使用
ma.execute(mapping, form, request, response);
ActionForward af = mapping.findForward("return2");
return af;
}
}
对象3
package MyAction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
public class MyAction3 extends Action{
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//测试运行
System.out.println("MyAction3.execute()");
//跳转到另一个Action,return为config文件内对应Action配置下 的forward属性
ActionForward af = mapping.findForward("return");
return af;
}
}
分享到:
相关推荐
10. **ActionServlet**:Struts框架的入口点是ActionServlet,它是Servlet的子类,负责解析请求,调用Action,处理结果等。 11. ** strut2-struts1-plugin**:如果项目中还包含Struts1的遗留代码,可以通过Struts2...
- **struts-config.xml**:Struts框架的核心配置文件,用于定义ActionServlet如何处理用户请求,以及ActionForm Bean和其他组件的配置。 #### 四、Struts框架的缺点 尽管Struts框架拥有许多优点,但也存在一些...
1. **Struts核心库**:包括struts-core.jar,这是Struts框架的核心组件,提供了ActionServlet、ActionForm、Action等关键类。 2. **Struts标签库**:如struts-tiles.jar、struts-taglib.jar,这些库提供了用于构建...
通过以上步骤,我们成功地在Struts框架中配置了SQL Server数据源,并在Action类中获取了该数据源的连接。这种方法不仅使得数据库连接的管理更加灵活,还极大地降低了应用程序后期维护和升级的成本。对于那些需要频繁...
本教程将通过一个简单的实例,帮助你深入理解Struts框架的构建与工作原理。 首先,MVC模式是软件设计中的经典架构模式,它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。在...
Struts框架是Java Web开发中的一个经典模型-视图-控制器(MVC)框架,它由Apache软件基金会的Jakarta项目维护。Struts框架的主要目标是提供一个结构化的开发环境,帮助开发者创建易于维护、可扩展且具有良好组织结构...
Struts框架还包含配置文件(struts-config.xml),定义了ActionServlet的映射、Action类的路径以及其他配置信息。此外,Struts提供了一套详细的文档和支持社区,使得开发者能够更快地学习和适应这个框架。 尽管...
在搭建Struts框架时,我们通常需要以下步骤: 1. 添加Struts库依赖:将Struts的jar包添加到项目的类路径中。 2. 配置web.xml:设置过滤器(`org.apache.struts.action.ActionFilter`)和Servlet(`org.apache.struts...
本例子源码旨在帮助初学者理解并搭建Struts1.x的开发环境。 在开始搭建环境之前,首先需要了解Struts1.x的基本构成。Struts1.x框架的核心组件包括ActionServlet、ActionForm、Action、Tiles等。ActionServlet是入口...
"Struts框架自学教程 PPT"应该包含了以下内容:Struts的介绍、安装配置、MVC原理、配置文件详解、Action和ActionForm的使用、Struts拦截器、异常处理、国际化、实战案例等。通过这个PPT,你可以逐步了解和实践Struts...
Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它由Apache软件基金会...这个"Struts框架 Jar包"包含了所有必需的库文件,可以帮助开发者快速搭建起Struts环境,开始构建Web项目。
在IT行业中,开发Web应用程序时,常常会使用到MVC(Model-View-Controller)设计模式,而Struts框架就是一款基于Java平台的MVC框架,尤其在早期Web开发中非常流行。本教程将详细讲解如何在Eclipse环境中搭建一个基础...
《Struts In Action》是关于Apache Struts框架的一本经典实战书籍,它的源代码提供了丰富的实例,帮助读者深入理解并掌握Struts框架的使用。在这些压缩包文件中,我们可以找到多个不同版本和应用场景的示例项目,...
Struts框架是Apache软件基金会开发的一个开源Web应用框架,专门用于构建基于Model-View-Controller (MVC)模式的应用程序。这个框架的核心目标是简化Java Web应用的开发过程,通过集成Servlet、JSP、自定义标签和信息...
Struts2是一个强大的Java web应用程序框架,它提供了一种组织MVC(模型-视图-控制器)架构的方式,使得开发者可以更容易地构建可维护、可扩展的web应用。本项目"基于struts2的登录源码"是使用IntelliJ IDEA(简称...
【标题】:Ibatis+Spring+Struts1框架搭建 在Web开发中,Ibatis、Spring和Struts1是三个非常重要的组件,它们分别负责不同的职责。Ibatis是一个优秀的持久层框架,Spring是一个全面的后端应用框架,而Struts1则是一...
Struts框架是一款经典的Java Web开发框架,由Apache软件基金会维护,主要用于构建基于MVC(Model-View-Controller)设计模式的Web应用程序。本PPT文档将深入探讨Struts框架的核心概念、开发流程以及实际运用。 首先...
这个“struts_框架包”很可能是为了简化开发者的工作,提供了一个预先配置好的环境,以便快速搭建Struts应用。下面我们将深入探讨Struts框架的核心概念、工作原理以及它在实际开发中的作用。 1. **Struts框架概述**...