[struts2学习笔记] 第三节 创建struts 2 HelloWorld所需的六个步骤

本文地址:http://blog.csdn.net/sushengmiyan/article/details/40349201

官方文档:http://struts.apache.org/release/2.3.x/docs/hello-world-using-struts-2.html

本文作者:sushengmiyan

------------------------------------------------------------------------------------------------------------------------------------

当你在Struts 2 web应用中点击一个超链接或者提交一个form表单数据时,输入的数据并没有传到server的还有一个页面,而是到了你提供的一个Java类. 这些类就叫做Actions. 当Action被fire, 结果会选择一个资源呈现响应. 通常情况下,资源是一个网页页面, 也能够是PDF文件, 或者是Excel页签, 或者是一个Java applet窗体.

如果你想创建一个简单的"Hello World" 样例展示欢迎信息. 在简单设定struts工作环境之后(參照 如何创建struts 2 web应用), 创建"Hello World"样例,你须要做例如以下四件事情:

  1. 创建一个存储欢迎信息的java类(模型model)
  2. 创建一个呈现信息的页面(视图 view)
  3. 创建一个Action类来控制用户、模型和视图之间的关系(控制器controller)
  4. 创建一个mapping (struts.xml) 来组合Action类和视图

这篇文章假定你已经完毕了 如何创建一个Struts 2 Web应用 体验而且拥有一个基础的struts工作空间. 这篇helloworld体验的源代码,能够从Struts 2 GitHub 库https://github.com/apache/struts-examples下载. 样例project使用maven管理依赖和构造.war文件.

第一步- 创建模型类 MessageStore.java

在我们第一个样例中,我们新建一个包com.susheng.struts2Maven.bean在里面新建一个类MessageStore。内容例如以下:

package com.susheng.struts2Maven.bean;

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.java

新建包com.susheng.struts2Maven.action在此包下新建类HelloWorldAction。内容例如以下:

package com.susheng.struts2Maven.action;

import com.opensymphony.xwork2.ActionSupport;
import com.susheng.struts2Maven.bean.MessageStore;

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;
	    }
}

第三步 - 创建View 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>

第四步 - 添加Struts配置到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>

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

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

        <action name="index">
            <result>/index.jsp</result>
        </action>

        <action name="hello" class="com.susheng.struts2Maven.action.HelloWorldAction" method="execute">
          <result name="success">/HelloWorld.jsp</result>
        </action>
    </package>

</struts>

第五步 - 创建URL Action

index.jsp改动为例如以下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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=UTF-8">
<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>

第六步 - 构造WAR文件并执行程序

我构造的war包是basic_struts.war所以我訪问链接:http://localhost:8080/basic_struts/index.action,进入之后点击helloworld链接,正常跳转。

第二篇实际样例就学习完毕。

struts2的工作原理:

时间: 2024-08-06 16:02:55

[struts2学习笔记] 第三节 创建struts 2 HelloWorld所需的六个步骤的相关文章

Struts2学习笔记--简介 第一个Struts例子

参考资料:http://blog.csdn.net/hntyzgn2010/article/details/5547753 http://chenlh.iteye.com/blog/464341 Struts是开源软件.使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间.如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择. Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进

Struts2 学习笔记(概述)

Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并实现应用的功能.通常分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息.用户信息等:而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等. 封装应用状态:某些应用数据封装起来,使得视图只能通过接口获取对应的数据 响应状态查询:对应用的状态改变进行处理 暴露应用功能:暴露接口 通

struts2学习笔记(一)

一.struts2和struts1的区别 1.Action类 a) Struts1要求Action类继承于一个抽象类,Struts1普遍使用抽象类编程而不是接口 b) Struts2的Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去实现常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以作为Struts2的Action对象. 2.线程模式 a) Struts1的Act

struts2学习笔记(7)------------ognl表达式

OGNL表达式(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言. Struts2自行维护一个特定范围的"银行",Action将数据放入其中,而JSP页面可从中取数据,表面上似乎看起来像是jsp可以直接访问Action数据.. 当Action属性不再是简单的值,而是某个对象,数组,集合时,就需要使用ognl表达式来访问这些对象,数组,集合内的数据了. 1)ognl的stack Conte

Struts2学习笔记1

一.下载struts2.0.1 http://struts.apache.org/downloads.html,下载struts-2.0.1-all.zip,这个压缩包中包括了开发struts2所需的struts2-core.jar核心包以及其他struts2所依赖的JAR文件,另外另一些struts2的演示样例程序以及一些HTML的API文档. 二.试用struts2.0.1 1. 新建一个WEBproject,将struts-2.0.1-all.zip压缩包中的lib文件夹下的全部jar文件

struts2 学习笔记

Struts2 学习笔记 在使用J2EE编写网站的时候,我们经常会使用Struts2框架.Struts2的好处就是许多东西已经被封装好了,我们只需要包含给定的jar文件,就能够调用相应的方法和标签.下面我将简要介绍一下Struts2的使用和特点: 一.搭建Struts2的环境:(主要分为三个部分:包含lib文件.web.xml改写.新建一个Struts.xml) 1.打开myeclise软件,新建一个Dynamic web project,在WebContent/WEB-INF文件夹下的lib文

struts2学习笔记(一)—— 知识点扫描

一.struts2的核心部件 (1)Configuration (2)Action (3)Interceptor (4)Value Stack / OGNL (5)Result Types (6)Results / View Technology 二.architectural goals: (1)separation  of concerns (2)loose coupling (3)testability (4)modularization (5)convention over config

Struts2学习笔记(九):Strut2通用标签详解

本节主要介绍Strus2中的通用标签,主要有<s:url>, <s:set>, <s:push>, <s:if>, <s:elseif>, <s:else>, <s:iterator>, <s:sort>, <s:date>, <s:a>等几个标签的具体用法,仍然采用代码加注释的形式进行说明,希望能对大家有帮助. 刚入门的朋友阅读本文前,请阅读: Struts2学习笔记(六):值栈(va

struts2学习笔记(二)—— 获取登录信息及计算在线人数

实现目的: 1.点击"Login"的超链接,进入登录页面 2.填写登录信息,提交表单,将用户信息保存进Session 3.显示用户名,并计算在线人数 4.点击"Logout"的超链接,在线人数减一,并使Session失效 Struts2实现: 1.配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:/