一个超简单的Strust2例子---Struts2学习笔记(1)

一个非常及其简单的Struts2例子,未使用struts2的标签,验证框架,甚至也没有Form表单提交,只实现在地址栏内输入一个Struts2的action地址,然后跳转到项目首页。使用Struts2.2.3+tomcat6  步骤如下:

1.下载Struts2.2.3 jar包; 可到官方网站下 地址: http://struts.apache.org/2.2.3/index.html 

2.例子需要的jar包 如下(官方的jar包几十个,但本例子使用以下几个足以; 且没有验证缺少以下哪几个jar包是否可以,但本例子导入这些jar包足够)

 

commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-logging-1.1.1.jar
commons-validator-1.3.1.jar
freemarker-2.3.16.jar
javassist-3.11.0.GA.jar
ognl-3.0.1.jar
struts2-core-2.2.3.jar
xwork-core-2.2.3.jar

 

以上9个jar包是看的网上的资料,需要的基本的jar包,但我在测试的时候发现报异常,添加上 commons-lang-2.5.jar  jar包才可以

 

因而 一共10个jar;

 

3.新建一个web项目

4.新建一个首页 index.jsp

5.将jar包导入项目

6.Web.xml中添加如下代码:

 

	<!-- 定义Struts 2的FilterDispatcher的Filter -->
	 <filter>
		<!-- 定义核心Filter的名字 -->
	  	<filter-name>struts2</filter-name>
		<!-- 定义核心Filter的实现类 -->
	    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>


	 </filter>

	 <!-- FilterDispatcher用来初始化Struts 2并且处理所有的Web请求 -->
	  <filter-mapping>
		  <filter-name>struts2</filter-name>
		  <url-pattern>/*</url-pattern>
	  </filter-mapping>

 

7. 在src目录下新建struts.xml文件 (注意 一定要是src目录下,且不要在src的子目录下。 编译后这个文件会到web-inf/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提供了将多个Action组织为一个模块的方式   
	  	name:	    package名称  (必须) 其名字可以随意取,但必须是唯一的 
	  	extends:    继承的父package名称 (非必须, 但如果有,其父package必须在本package之前)
	  	namespace:  定义package命名空间  (非必须)
	  				该命名空间影响到url的地址,
	  				例如此命名空间为/test,
	  				那么访问是的地址为http://localhost:8080/struts2/test/XX.action
  	-->
    <package name="index" extends="struts-default" namespace="/" >
		<!-- name action名字;class action对应的类 -->
        <action name="indexAction" class="index.IndexAction">        
            <result>/index.jsp</result>
        </action>
    </package>
    

</struts>

  

 

8.IndexAction.java 代码如下

 

package index;

import com.opensymphony.xwork2.ActionSupport;

public class IndexAction extends ActionSupport{

    public String execute() throws Exception  {
        return super.SUCCESS;
    }
}

 

 

9.浏览器输入 http://localhost:8080/struts2/indexAction.action访问, struts2是项目名   若能跳到首页, 即成功!

 

 

ps:很久以前就用过Struts2, 但好久不用,突然手生了不少。 这段时间公司项目松,就想复习下呢, 结果弄了好久没有成功,老是找不到action,怎么找也找不到原因,后来在网上搜索呢,竟然发现是因为使用的 WebSphere application server 6.1和Struts不能直接兼容造成的, Fuck! 但按照网上的解决方法,依然是不能解决,不得不使用Tomcat,放到tomcat下,一切正常,没有一点问题。

你可能感兴趣的:(struts2)