首页 > 代码库 > struts2学习笔记——第一个struts2应用配置

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应用配置