`

struts2开发环境搭建helloworld

阅读更多

        综合比较了java的一些MVC开源框架,觉得目前为止,struts2是一个很不错的框架!学习一门新的技术从helloworld开始。这个也不例外。

 

一:首先新建一个web工程,将struts2需要的jar包拷贝到WEB-INF\lib中,jar包列表如下:

 

commons-fileupload-X.X.X.jar 
commons-io-X.X.X.jar 
commons-logging-X.X.X.jar 
commons-logging-api.X.X.jar 
commons-lang3-3.1.jar
freemarker-X.X.X.jar 
ognl-X.X.X.jar 
struts2-core-X.X.X.X.jar 
xwork-core-X.X.X.jar 
javassist-3.7.ga.jar (new for Struts versions 2.2.1 and higher) 
log4j-1.2.14.jar

 

二:在web.xml加入struts2的过滤器

 

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

 

三:创建struts.xml

 

     struts2可以通过xml文件或者标注的方式来指定url,java对象和页面直接的关系。struts.xml放在src文件夹下面。下面是一个简单的配置:

   

<?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>

	</package>

</struts>

 

四:开始helloworld

  1)新建模型类:

 

 

package com.cmj.struts2.helloworld.model;

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

}

 

2)新建action类

 

 package com.cmj.struts2.helloworld.action;

import com.cmj.struts2.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;
	}

}

 

3)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.cmj.struts2.helloworld.action.HelloWorldAction" method="execute">
    <result name="success">/HelloWorld.jsp</result>
  </action>

</package>

</struts>

 

4)页面取值

 

  

<%@ 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>Hello World!</title>
</head>
<body>
    <h2><s:property value="messageStore.message" /></h2>
</body>
</html>

 

好了,在页面上http://127.0.0.1:8080/struts223/hello.action就可以看到结果了。struts2的helloworld结束了,简单吧。

 

 

 

总结:

下面说说整个的一个流程:
 struts2调用流程
A:在浏览器上输入url后,会通过web.xml中配置的过滤器org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。
B:struts2会根据hello.action来寻找对应的HelloWorldAction类,然后框架实例化并调用HelloWorldAction的excute方法。
C:excute方法创建MessageStore 对象,并返回SUCCESS,根据整个SUCCESS来寻找对应的页面资源HelloWorld.jsp。
D:在HelloWorld.jsp中<s:property value="messageStore.message" />表示调用HelloWorldAction的getMessageStore 方法,然后调用
MessageStore 的 getMessage 方法。

0
0
分享到:
评论

相关推荐

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

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

    Struts2 实例 HelloWorld

    在第3章中,struts2的开发环境已经成功搭建起来,使用glassfish2作为开发的应用服务器,是因为它提供了JavaEE全方位的支持,并且glassfish2是免费且开源的,目前已经有很多项目在使用她,笔者预计在未来的一段时间,...

    struts2 总结入门学习文档 教你如何搭建一个struts2环境

    struts2 总结入门学习文档 教你如何白手起家搭建Struts2开发环境、编写第一个struts2应用helloworld、属性介绍、接口、拦截器介绍、struts2标签等。93页

    struts项目搭建

    一、搭建开发和运行环境 1、到Apache下载Strut包:http://archive.apache.org/dist/struts/ 在这里可以下载到所有版本的struts,点击 ,之后如何操作就不讲了。下载之后解压。这个版本的struts的jar有很多,我们只...

    低清版 大型门户网站是这样炼成的.pdf

    2.3.1 struts 2应用开发环境的搭建 62 2.3.2 struts 2应用基本开发步骤—搭建eportal应用 69 2.3.3 struts 2中集成fckeditor 80 2.3.4 struts 2中集成displaytag 83 2.4 struts 2国际化实现 85 2.4.1 web应用的...

    java web技术开发大全(最全最新)

    第1章 搭建开发环境 1.1 本书使用的软件和框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 Tomcat6的...

    java web开发技术大全

    第1章 搭建开发环境 1.1 本书使用的软件和框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 ...

    Java Web程序设计教程

    第2章 javaee运行及开发环境 15 2.1jdk的下载与安装 15 2.1.1jdk的下载与安装 15 2.1.2配置环境变量 17 &gt;2.2tomcat的下载与安装 19 2.2.1下载并安装tomcat服务器 19 .2.2.2基本配置 22 2.2.3服务器页面介绍...

    iuhyiuhkjh908u0980

    Buildfile: G:\eclipseEjb3\Ejb_HelloWorld_02\build.xmlprepare: [mkdir] Created dir: G:\eclipseEjb3\Ejb_HelloWorld_02\buildcompile: [javac] Compiling 3 source files t ... by caizhongda 2009-02-28 回复 ...

    java 面试题 总结

    assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为...

    超级有影响力霸气的Java面试题大全文档

    assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为...

Global site tag (gtag.js) - Google Analytics