struts2学习笔记——第一个struts2应用配置

Posted 云中志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2学习笔记——第一个struts2应用配置相关的知识,希望对你有一定的参考价值。

  说实在的,随着Java学习的不断深入,特别是Java web框架部分,调bug让人很心累,但是每征服一个bug,内心的成就感也是难以言说的。第一个struts2应用的配置,我昨天折腾了快2个小时,最后还是放弃了,今天在摸索之下,终于打通了第一个struts2的任督二脉,下来就把我个人的配置过程写下来,希望后面学习的java友少走的弯路。

  一、创建web工程(eclipse k kepler版本):

    直接上图:

 

二、导入struts2关键包

  1、需要导入的关键包,不导入这些包会导致报错,我就知bug在这里了:

  

 

  我没有导入log4j-api-2.7.jar然后tomcat就无法启动了,这里还要注意的是,在2.5之前的版本中导包时还需要导入xwork这个包,在2.5中该包已经包含在struts的核心包中了,我们也就省去了这一步,不相信的java友可以打开核心包看下包结构:

 

2、导包过程:

  如上图,添加9个必须包;下面的操作是添加一个struts2的个人包库,方便后面创建struts2,总不能每一次都导入一次:

导包到此结束,后面开始最麻烦的web.xml的配置

三、action编码:

  必须继承com.opensymphony.xwork2.ActionSupport,并重写execute()方法:

package com.sysker.main;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction  extends ActionSupport{

	/**
	 * action test
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("执行Action");
		return SUCCESS;
	}
	
}

  

四、配置文件

  1、web.xml的配置:

  注意:其中<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>和2.5之前的版本是不一样的,以前的是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter但是你看一下源码就知道如何修改,这一对标签是配置filter类——StrutsPrepareAndExecuteFilter,打开struts2的核心包struts2-core-2.5.10.1.jar,参考之前的配置路径看一下就会发现区别:

 

这就是java的包管理,其他的配置也可以参考这个方式。

完整配置文件

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 3     xmlns="http://java.sun.com/xml/ns/javaee" 
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 5      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
 6     id="WebApp_ID" version="3.0">
 7   <display-name>struts2001</display-name><!-- 项目名称 -->
 8   
 9   <filter>
10   <filter-name>struts2001</filter-name><!--过滤器名称-->
11   <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
  <!--过滤器地址,配置完按住Ctrl看鼠标是否可以打开连接,能打开说明配置正确-->
12 </filter> 13 14 <filter-mapping> 15 <filter-name>struts2001</filter-name><!--和上面的必须一致--> 16 <url-pattern>/*</url-pattern><!--过滤地址,*表示过滤所有页面--> 17 </filter-mapping> 18 19 <welcome-file-list> 20 <welcome-file>index.jsp</welcome-file> 21 <welcome-file>default.jsp</welcome-file> 22 </welcome-file-list> 23 </web-app>

   2、struts.xml配置文件:

  首先路径和web.xml是不一样的,struts.xml是在src下面的:

配置如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC
 3 
 4     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 5     "http://struts.apache.org/dtds/struts-2.3.dtd">
 6     
 7 <struts>
 8 
 9     <package name="default" namespace="/" extends="struts-default"><!--这个还没深入了解,但是是必须的-->
10         <action name="helloworld" class="com.sysker.main.HelloWorldAction"><!--配置action的路径,完整包名-->
11             <result>/result.jsp</result><!--执行action后返回的结果-->
12         </action>
13     </package>
14 
15 
16 </struts>

  到这里,第一个struts2就可以顺利执行了,欢迎交流!

以上是关于struts2学习笔记——第一个struts2应用配置的主要内容,如果未能解决你的问题,请参考以下文章

struts2学习笔记之一:基本简介

Struts2从头到脚--学习笔记(自认为比较重要的)

Struts 2 学习笔记

JAVA EE 学习笔记[V5 struts2框架标签库]

Struts2学习第二课 Struts2概述

struts的学习笔记