`
alph0618
  • 浏览: 54735 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts2学习之一

阅读更多
纯属记录。

由于工作中的项目需要用到struts2,就花了点时间作了些了解和练习,为了加深印象记录之。
大步骤如下:
1、使用gradle构建项目;
2、一个简单的action;
3、使用json格式数据传输数据http://arthur2014.iteye.com/admin/blogs/2162989
4、spring注解http://arthur2014.iteye.com/admin/blogs/2162996
5、struts2注解http://arthur2014.iteye.com/admin/blogs/2163348


一、使用gradle构建项目
1、创建一个Dynamic Web Project;
2、修改.classpath文件,如:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="src/main/java"/>
	<classpathentry kind="src" path="src/main/resources"/>
	<classpathentry kind="src" path="src/test/java"/>
	<classpathentry kind="src" path="src/test/resources"/>
	
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0">
		<attributes>
			<attribute name="owner.project.facets" value="java"/>
		</attributes>
	</classpathentry>
	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
	<!-- 
	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0">
		<attributes>
			<attribute name="owner.project.facets" value="jst.web"/>
		</attributes>
	</classpathentry> -->
	<classpathentry exported="true" kind="con" path="org.springsource.ide.eclipse.gradle.classpathcontainer">
		<attributes>
			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
		</attributes>
	</classpathentry>
	<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
</classpath>

3、在工程目录下创建build.gradle文件,编辑文件添加依赖jar包:
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse-wtp'

sourceCompatibility = 1.7
webAppDirName = 'WebContent'
sourceSets.main.java.srcDir 'src'

repositories {
    mavenCentral()
}

dependencies {
	compile (
		"commons-logging:commons-logging:1.1.3",
		"org.freemarker:freemarker:2.3.16",
		"ognl:ognl:3.0.6",
		"org.apache.struts:struts2-core:2.3.15.1",
		"org.apache.struts.xwork:xwork-core:2.3.15.1",
		
		"org.slf4j:slf4j-log4j12:1.7.7",
		"org.apache.struts:struts2-json-plugin:2.3.15.1",
		"org.apache.struts:struts2-spring-plugin:2.3.15.1",
		"org.apache.struts:struts2-convention-plugin:2.3.16.3",
	)
}

说明:前五个jar包是struts2必需的。
然后刷新工程的jar依赖,至此一个基于gradle的web工程创建完毕。

二、一个简单的action
1、要使用struts2,怎能不配置filter呢?打开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>*.action</url-pattern>
    </filter-mapping>

2、实现action类:
package com.haochen.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {
	/**
	 * 
	 */
	private static final long serialVersionUID = -6798738145555362022L;

	@Override
	public String execute() throws Exception {
		System.out.println("Hello World, struts2.");
		return SUCCESS;
	}

}

3、在类路径下新建struts.xml文件,配置action:
<?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="test" namespace="/a" extends="struts-default">
		<action name="helloworld" class="com.haochen.action.HelloWorldAction">
			<result name="success">/pages/result.jsp</result>
		</action>
	</package>
</struts>

4、发布,访问http://localhost:8080/struts2demo/a/helloworld.action,后台打印“Hello World, struts2.”表示成功。
分享到:
评论

相关推荐

    struts2学习之一简单范例

    这篇博客“Struts2学习之一简单范例”可能是对Struts2基础用法的一个初步介绍,我们将围绕这个主题进行深入探讨。 首先,Struts2的核心是Action类,它是处理用户请求的中心。每个Action类对应一个业务逻辑,当用户...

    struts2中文学习文档

    在Struts2之前,WebWork是另一个流行的轻量级框架,Struts2在设计上借鉴了很多WebWork的理念和特性,因此可以说WebWork是Struts2的基础之一。 ### Struts2与WebWork的关系 Struts2和WebWork都属于MVC(Model-View-...

    STRUTS2学习文档

    这个"STRUTS2学习文档"显然是一个关于如何理解和使用Struts2框架的教程资料,对于想要快速掌握Struts2核心概念和技术的开发者来说,它是一份非常有价值的资源。 Struts2框架的核心特点包括: 1. **拦截器...

    struts 2完全学习手册

    - **JSP**:最常用的视图技术之一,适用于简单的页面展示。 - **FreeMarker**:一种强大的模板引擎,适合于复杂的页面布局和数据展示需求。 5. **结果类型**:Struts 2中的结果类型决定了Action执行完毕后的页面...

    struts2帮助文档

    struts2的概述struts2下的HelloWord struts2基础 struts2做好准备 struts2的标志 struts2的Action讲解 struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 ...struts2进阶学习一

    struts2学习小项目(很适合初学者)

    在描述中提到的Oracle数据库,是关系型数据库管理系统的代表之一,广泛应用于企业级应用。在Struts2项目中,开发者通常会使用JDBC或者ORM框架如Hibernate或MyBatis来与Oracle数据库进行交互。在这个小实例中,你可能...

    张龙圣思园struts2学习笔记word

    Struts2的拦截器是其强大的功能之一。通过自定义拦截器,开发者可以实现如日志记录、权限验证、事务管理等通用功能,提高代码复用性。预设的拦截器如Params拦截器用于参数绑定,Validation拦截器进行字段验证,...

    struts2学习心得

    Struts2学习心得 本文总结了Struts2的常用方法和经验,涵盖了配置问题、EL表达式、Struts2的架构和Namespace等方面的知识点。 一、配置问题 Struts2的最新版本为GA 2.2.1,需要以下几个类库: 1.commons-...

    struts2学习笔记.doc

    - **Struts2的起源**:Struts2最初由WebWork和Struts1的核心开发者联合创建,其目的是为了弥补这两个框架的不足之处。 **1.2 开发环境配置** - **IDE选择**:Eclipse 3.2 + MyEclipse 5.5。 - **Servlet Container*...

    struts2学习笔记黑马程序员

    文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件能够正确上传至服务器,前端和后端都需要做一些特定的设置。 **前端注意事项:** 1. **...

    Struts2视频教程

    - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。了解如何编写Action类、设置其属性以及处理请求参数至关重要。 - **Result配置**:Result用于指定Action执行后的结果...

    struts2学习

    ### Struts2学习知识点 #### 一、Struts2简介 Struts2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-...无论是对于初学者还是有经验的开发者来说,Struts2都是一个值得深入学习的技术栈。

    Struts2的Java专题学习网

    这个"Struts2的Java专题学习网"综合实训项目旨在帮助开发者深入理解和掌握Struts2框架,以及与之相关的Java、JSP技术在实际项目中的应用。在这个实训项目中,你将学习到以下关键知识点: 1. **Struts2框架基础**:...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    Struts2学习日志(一)

    在学习Struts2的过程中,你需要理解Action、Interceptor、结果类型(Result)、配置文件(struts.xml)等基本概念,以及如何使用OGNL进行数据绑定和表达式操作。同时,了解FreeMarker模板语言的语法和特性,可以帮助...

    Struts2 经典讲解之一

    Struts2基础配置 学习教程,快速掌握Struts2的学习

    学习用的文档struts2

    12. **值栈(Value Stack)**:值栈是Struts2的核心组件之一,它保存了Action的属性以及ActionContext中的数据,使得在JSP中可以直接通过OGNL访问这些数据。 通过以上知识点,我们可以看到Struts2作为一个成熟的...

    Struts2 学习 2

    本教程“Struts2 学习 2”将深入探讨Struts2的核心概念和技术,通过一系列文档帮助你掌握这个框架的关键要点。 一、ActionContext的理解与应用 在“第九讲 ActionContext.docx”中,你将学习到ActionContext是...

Global site tag (gtag.js) - Google Analytics