`
三月沙
  • 浏览: 620137 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2官方教程(一)--hello world

阅读更多

 

本教程基于netbeans6.9.1,tomcat是netbeans自带的6.0.26,已经经过测试。

1 新建java
web项目,在WEB-INF下新建classes文件夹和lib文件夹。在struts框架的库里找到如下所示的库文件放入lib下如图

 

在classes文件夹下新建struts.xml文件,文件内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="struts2" namespace="/" extends="struts-default">
    </package>
    <!-- Add packages here -->
</struts>
 
2 修改web.xml文件,假如如下内容
<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 
 
3 在web的根目录下的index,jsp文件里是如下内容
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Basic Struts 2 Application - Welcome</title>
</head>
<body>
<h1>Welcome To Struts 2!</h1>
<p><a href="<s:url action='hello'/>">Hello World</a></p>
</body>
</html>
 4 新建java包,org.ynu.action 和org.ynu.model。在model包里新建 MessageStore类如下
public class MessageStore {
	
	private String message;
	
	public MessageStore() {
		
		setMessage("Hello Struts User");
	}

	public String getMessage() {

		return message;
	}

	public void setMessage(String message) {

		this.message = message;
	}

}


 在action包里新建HelloWorldAction类代码如下
import org.apache.struts.helloworld.model.MessageStore;
import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {

	private static final long serialVersionUID = 1L;

	private MessageStore messageStore;
	
	public String execute() throws Exception {
		
		messageStore = new MessageStore() ;
		return SUCCESS;
	}

	public MessageStore getMessageStore() {
		return messageStore;
	}

	public void setMessageStore(MessageStore messageStore) {
		this.messageStore = messageStore;
	}

}


 5 在web更目录下创建一个helloworld.jsp页面代码如下
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Hello World!</title>
</head>
<body>
    <h2><s:property value="messageStore.message" /></h2>
</body>
</html>

  
6 修改struts.xml代码如下,加入action到package节点下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

  <constant name="struts.devMode" value="true" />

  <package name="basicstruts2" extends="struts-default">

  <action name="index">
    <result>/index.jsp</result>
  </action>
		
  <action name="hello" class="org.ynu.HelloWorldAction" method="execute">
    <result name="success">/helloworld.jsp</result>
  </action>

</package>

</struts>

 运行index.jsp然后点击hello链接,如果出现了Hello Struts User,则说明成功了。

代码的运行原理:

1 web.xml中的org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter负责拦截所有的来自客户端浏览器的请求,包括.jsp .action .do等,由 <url-pattern>/*</url-pattern>配置决定的

2 当点击Hello World链接时,struts2框架在struts.xml文件中查找hello这个action对应的类,这里是action包中的HelloWorldAction 类,然后此次请求就交给了这个类来完成,负责完成的方法是execute

3 execute方法创建了一个MessageStore 对象,然后返回一个SUCCESS,框架检查这个action对应映射看如果SUCCESS返回将转发到哪一个jsp页面,这里是helloworld.jsp

4 helloworld页面中的<s:property value="messageStore.message" />表示要调用hello这个action对应的类HelloWorldAction中的getMessageStore 方法,取得messageObject对象,并且该对象调用其中的getMessage 方法取得message。字段的命名方式和存取方式要符合javabean的命名规范

5 呈现结果
分享到:
评论

相关推荐

    struts2 helloworld

    "Struts2 HelloWorld"是学习Struts2框架的基础教程,通过这个例子,我们可以了解Struts2的基本配置和工作流程。 首先,让我们从项目结构开始。在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. *...

    Struts2案例翻译篇-HelloWorld

    在本文中,我们将深入探讨一个基础的Struts2案例——"HelloWorld",这是每个开发者入门新框架时都会接触的经典示例。通过这个案例,我们可以了解Struts2的核心概念和工作原理。 首先,让我们理解一下Struts2框架的...

    struts2.0开发环境的搭建及HelloWorld的演示

    本教程将详细介绍如何在MyEclipse 6.5.0 GA环境中搭建Struts2.0开发环境并实现一个简单的"HelloWorld"应用。 首先,你需要访问Apache Struts的官方网站(http://struts.apache.org/download.cgi#struts216)下载...

    struts零配置HelloWorld-Annotation

    在“struts零配置HelloWorld-Annotation”这个项目中,我们将重点探讨如何利用注解来实现Struts2框架的配置,这对于初学者来说是一个很好的起点。 在传统的Struts2配置中,我们需要在`struts.xml`文件中手动定义每...

    Struts2的第一个实例helloworld

    在本例中,提供的“Struts2_HelloWorld”压缩包中应该包含了所有必要的库文件,确保项目能够正常运行。 接下来,创建一个简单的Action类。在Struts2中,Action类需要继承自`com.opensymphony.xwork2.ActionSupport`...

    struts2学习笔记1-HelloWorld项目

    本篇学习笔记将引导我们从零开始,通过一个简单的"HelloWorld"项目,了解Struts2的基础知识。 首先,我们需要在本地环境中搭建Struts2的开发环境。这包括安装JDK、配置Java环境变量、下载Apache Struts2的最新版本...

    Struts2--HelloWorld

    首先,创建一个简单的Struts2 HelloWorld应用需要以下步骤: 1. **环境配置**:确保已经安装了JDK,Apache Maven或Ant,以及一个IDE(如Eclipse或IntelliJ)。还需要在项目中添加Struts2的依赖库,这通常通过Maven...

    jamesby-struts2-helloworld.rar_3ds nandbo_helloworld_struts2_str

    标签中的"3ds_nandbo"可能是指这个示例是从3DS NANDBO(一个可能的教程或论坛)获取的,而"struts2__helloworld"和"struts2_helloworld"直接指出了这是关于Struts2的Hello World应用。 总的来说,这个压缩包提供了...

    Struts2学习案例--------入门篇

    1、 URL:http://localhost:8080/struts100515/helloworld 输出Hello World 使用到struts2标签和jstl表达式 2、 URL:http://localhost:8080/struts100515 输入用户名XXX ------&gt; 提交 ,显示 你好 XXX 使用...

    HelloWorld 基于struts2框架

    这就是一个基于Struts2框架的简单“HelloWorld”应用的实现过程。通过这个实例,开发者可以逐步学习到Struts2的MVC模式、Action配置、业务逻辑处理以及视图展示等核心概念,为后续的复杂Web应用开发打下基础。

    基于struts2的hello world输出

    总的来说,"基于Struts2的Hello World输出"是一个简单但全面的入门教程,涵盖了Struts2框架的基础概念,包括Action、配置、视图和依赖库的使用。对于初学者来说,这是一个很好的起点,能够帮助他们理解和掌握Struts2...

    struts2课件----传智博客张孝祥老师最新讲解PPT

    然后定义了一个名为“helloworld”的Action,其类为cn.struts2.action.HelloWorldAction。当这个Action执行成功(name="success")时,会跳转到/WEB-INF/page/hello.jsp页面。 通过这个简单的示例,我们可以看到...

    Struts2官方例子3--Action的编写

    本教程将深入讲解如何在Ant环境下编写Struts2的Action。 首先,Action是Struts2中的控制器,它接收到用户的请求,执行相应的业务逻辑,并决定如何响应用户。Action类通常需要继承自`...

    struts2 helloworld程序

    在这个"Struts2 HelloWorld"程序中,我们将深入理解Struts2的基本结构和配置,以及如何创建第一个简单的应用。 首先,让我们从环境搭建开始。为了运行Struts2的HelloWorld程序,你需要安装Java Development Kit ...

    用Maven构建Struts2的HelloWorld

    在本教程中,我们将深入探讨如何使用Maven来构建一个基本的Struts2 HelloWorld应用。 首先,我们需要确保已经安装了Java Development Kit (JDK) 和 Maven。JDK是Java编程的基础,而Maven则用于构建和管理项目。在...

    struts2的helloworld例子

    这个"struts2的helloworld例子"是为初学者准备的一个基础教程,旨在帮助理解Struts2框架的基本工作原理和配置过程。下面将详细阐述这个例子中的关键知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求...

    Struts2视频教程

    - **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...

    Struts2-HelloWorld

    在本教程中,我们将深入探讨Struts2的基础知识,通过一个"Struts2-HelloWorld"实例来演示如何在实际项目中应用Struts2。 首先,让我们了解Servlet。Servlet是Java编程语言中用于扩展服务器功能的接口。它处理HTTP...

    Struts2教程--第一章 搭建Struts2开发环境

    本教程将带你逐步搭建Struts2的开发环境,为后续的学习和实践打下基础。 首先,我们需要安装以下基础软件: 1. **JDK**:Struts2运行在Java平台上,所以你需要先安装Java Development Kit(JDK)。确保你的系统...

Global site tag (gtag.js) - Google Analytics