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应用配置的主要内容,如果未能解决你的问题,请参考以下文章