之前只学过Struts2,学过的版本有2.0和2.1的,在几次面试中都有被问到Struts1的,对于这些回答唯有说还没学过,心里很是好奇,也来瞧瞧。
本文是新手文章,属学习笔记,还望指教!
笔者使用的是MyEclipse集成的struts1.2。
web.xml配置如下(配置说明已在注释中):
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- struts1.2配置 -->
<!-- 配置ActionServlet -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<!-- Struts应用程序的配置文件位置(相对路径),则默认值为/WEB-INF/struts-config.xml -->
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<!-- 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。 -->
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<!-- 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。 -->
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<!--
ActionServlet在服务器开启时加载的优先级,数值越低,越先加载。
大多数 Servlet是在用户第一次请求的时候由应用服务器创建并初始化,但<load-on-startup>n</load-on-startup>可以用来改变这种状况,该元素说明某个 Servlet在应用程序启动的时候就立即装入 Servlet,并初始化它。
-->
<load-on-startup>0</load-on-startup>
</servlet>
<!-- Struts所拦截的路径,即Struts要处理的请求路径。 -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Action 类代码(Hello World):
package bing.struts.action;
import java.io.UnsupportedEncodingException;
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;
/**
* struts1第一例hello world
* @author bing
* @version 2011-07-06
*
*/
public class HelloAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
try {
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
request.setAttribute("msg", "hello " + name);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return mapping.findForward("index");
}
}
Struts1是从Servlet中扩展出来的,用起来与Servlet有些相似,捕获参数用的还是HttpServletRequest的getParameter方法,而且还要处理中文乱码问题。
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">
<struts-config>
<!-- 数据源元素,可以通过<set-property>设置driverClass、url、user、password等属性 -->
<data-sources />
<!-- 子元素form-beans用来配置绑定到Action的各个FormBean的实例。每个FormBean实例用form-bans的子元素form-bean来定义。form-bean又分普通的FormBan和动态FormBean。 -->
<form-beans />
<global-exceptions />
<!-- global-forwards用于配置全局转发,struts首先会在<action-mappings>元素中找对应的<forward>,若找不到,则到全局转发配置中找。它包含0个或多个<forward/>元素。 -->
<global-forwards />
<!-- 该元素用于将Action元素定义到ActionServlet类中,它含有0到多个<action/>元素 -->
<action-mappings >
<action path="/hello" type="bing.struts.action.HelloAction">
<forward name="index" path="/index.jsp"></forward>
</action>
</action-mappings>
<!-- 该元素用来定义资源文件。 -->
<message-resources parameter="bing.struts.ApplicationResources" />
<!-- 该元素用于定义插件,可定义0到多个插件元素,最常见的plug-in为Struts的验证的插件 -->
<!--
<plug-in className=""></plug-in>
-->
</struts-config>
struts-config标签中各元素的顺序是固定的,不可变换的。
笔者在网上找到了一篇struts1.2的配置文件struts-config.xml的详细教程,以上的注释说明来源于blogjava,原地址如下:
http://www.blogjava.net/amigoxie/archive/2008/01/03/172360.html
index.jsp:
...
${msg==null?'显示区域':msg }
<form action="hello.do" method="post">
<input type="text" name="name" />
<input type="submit" value="say hello" />
</form>
...
分享到:
相关推荐
Struts2是一个强大的Java web应用程序开发框架,它简化了MVC(模型-视图-控制器)架构的实现,尤其在处理HTTP请求和响应时。...对于初学者来说,这是一个很好的起点,能够帮助他们理解和掌握Struts2的基本工作原理。
在本示例中,"struts2完整的Hello Word例子"是帮助开发者理解并熟悉Struts2基本工作原理和配置的一个入门级教程。下面将详细介绍这个Hello World应用的关键知识点。 1. **Struts2框架概述**: Struts2作为继Struts...
这个"struts2的helloworld例子"是为初学者准备的一个基础教程,旨在帮助理解Struts2框架的基本工作原理和配置过程。下面将详细阐述这个例子中的关键知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求...
本实例“Struts2 Hello word 完整实例”是为初学者设计的,它包含了所有必要的组件和库文件,以便你能够快速上手并理解Struts2的基本工作原理。 首先,我们来看一下Struts2框架的核心概念: 1. **Action类**:在...
在Struts2中,HelloWorld程序是初学者入门的典型示例,通过这个例子,我们可以了解Struts2的基础架构和核心概念。 1. **MVC模式** MVC模式是软件设计中的一个重要模式,它将业务逻辑、数据和用户界面分离,使得...
这个"struts2_HelloWorld代码"是初学者了解和学习Struts2的一个基础实践,它展示了如何使用Struts2框架创建一个简单的“Hello, World!”应用程序。 在Struts2中,`Action`类是核心组件,它负责处理用户请求。在这个...
学习"Struts2 HelloWorld"不仅能够帮助初学者理解框架的基本用法,还能让他们对MVC模式有一个直观的认识。在实际开发中,Struts2提供了大量的插件和拦截器,可以实现复杂的业务逻辑和验证,使其成为企业级应用的理想...
这个"jamesby-struts2-helloworld.rar"压缩包提供了一个基础的Struts2入门示例,名为“helloworld”,对于初学者了解和学习Struts2的工作原理非常有帮助。 首先,我们来看看"index.jsp"。这通常是一个应用的入口点...
这个"Struts2_HelloWorld"例子是初学者踏入Struts2世界的绝佳起点,它通过一个简单的实例展示了如何在Struts2框架下创建并运行一个基本的Web应用。 首先,我们来看"HelloWorld"的实现过程。在Struts2中,我们通常会...
### Struts2 实例 HelloWorld 知识点解析 #### 一、概述 在学习Struts2框架时,通常会从最简单的“Hello World”实例开始。这种实例不仅可以帮助初学者快速上手,还能让大家对Struts2的工作原理有一个基本的理解。...
Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)...这个"Struts2_helloWorld"项目就是一个很好的起点,帮助初学者理解Struts2的基础架构和工作原理。
1. **Hello World**:在Struts2入门阶段,我们通常从创建一个简单的"Hello World"示例开始。这涉及到配置Struts2的主配置文件(struts.xml),创建Action类以及相应的JSP页面,以展示Struts2如何处理HTTP请求并返回...
对于初学者,可以从创建简单的"Hello, World!"应用开始,逐渐理解Action、配置文件和JSP页面的交互过程。同时,通过实践搭建数据库连接、处理表单提交、实现动态跳转等功能,可以加深对Struts框架的理解。记得在学习...
"Struts2入门使用案例HelloWorld"是一个典型的教程,旨在帮助初学者快速理解并开始使用Struts2框架。下面我们将深入探讨这个案例涉及的关键知识点。 首先,我们需要创建一个Maven工程。Maven是Java项目管理和构建...
对于初学者来说,"Struts2制作HelloWorld"是理解并掌握该框架的第一步。下面我们将深入探讨这个过程涉及的主要知识点。 1. **Struts2项目的搭建**:创建一个Struts2项目通常包括以下几个步骤: - 引入Struts2的...
【JavaWeb_SSH框架入门,IntelliJ IDEA搭建Struts2的HelloWorld】是一个适合初学者的教程,主要讲解如何在IntelliJ IDEA这个强大的Java集成开发环境中搭建一个基于Struts2框架的简单Web应用。SSH框架是Struts2、...
这个压缩包提供的资源是一个适合初学者的Struts2学习实例,下面将详细介绍如何在MyEclipse8中使用Struts2进行开发。 1. **Struts2框架介绍** Struts2是Apache软件基金会的开源项目,它是Struts1的升级版,提供了更...
总的来说,张龙圣思园的Struts2学习笔记是全面了解和掌握Struts2框架的宝贵资源,无论你是初学者还是有经验的开发者,都能从中受益。它会帮助你深入理解Struts2的工作原理,掌握其核心特性和最佳实践,从而提升你的...
这个"Struts2 HelloWorld"示例是初学者学习Struts2框架的基础教程,通过它,我们可以深入理解Struts2的核心概念和工作原理。 在Java Web开发中,Struts2框架提供了一种组织MVC(Model-View-Controller)架构的方式...