1.下载struts2.3.15的完整版: http://struts.apache.org/download.cgi#struts23151
打开解压的struts-2.3.15.1文件夹,会看到几个文件夹,分别为:apps----范例代码,docs---api,lib---库文件,src---源码
2.在javaee-eclipse环境中新建一个Dynamic Web Project,名称为struts2-form。
3.添加搭建struts2需要的lib,在解压的lib文件夹中,找到如下几个lib包,将之添加到struts2-form的WebContent/WEB-INF/lib目录下
4.编写struts2的配置文件,其实不用我们编写,进入到上面解压的struts-2.3.15.1文件夹中,进入到apps中,会看到好几个例子,解压struts2-blank.war,进入到struts2-blank\WEB-INF\classes\ 就会看到有一个struts.xml文件,将之拷贝到struts2-form项目的src目录下(FilterDispatcher过滤器在初始化时将会在WEB-INF/classes下寻找该文件),并删除不用的信息。
5.配置web.xml,用于启动struts2框架,类似的,找到上面解压的struts2-blank文件夹,在struts2-blank\WEB-INF\下有一个web.xml文件,打开,将如下一段配置信息拷贝到你的项目的web.xml文件中。
- <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>
<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>
6.到目前为止,配置完毕,发布项目到tomcat上,看看tomcat有无错误打印信息。
当发布后,会发现报错,
查看相应的错误信息会发现 缺少javassist的jar包 ,在上面解压的lib中找到javassist-3.11.0.GA.jar添加到你的lib目录下
接着再次发布项目,接着报错
查看相应的错误信息会发现 缺少common-io的jar包 ,在上面解压的lib中找到commons-io-2.0.1.jar添加到你的lib目录下
接着再次发布项目,接着报错
查看相应的错误信息会发现 缺少commons.lang3的jar包 ,在上面解压的lib中找到commons-lang3-3.1.jar添加到你的lib目录下
再次发布,哈哈 终于没有错了
所以,如果你一开始就将下面的几个jar文件放到你的lib目录下的话,应该就没有错误了。
以上即是struts2.3.15的环境搭建。
进行测试:
1.在struts.xml文件中<struts></struts>的标签间加入
- <packagename="first"namespace="/first"extends="struts-default">
- <actionname="first"class="com.undergrowth.First"method="execute">
- <resultname="success">/first.jsp</result>
- </action>
- </package>
<package name="first" namespace="/first" extends="struts-default">
<action name="first" class="com.undergrowth.First" method="execute">
<result name="success">/first.jsp</result>
</action>
</package>
2.在src目录下新建First类,包名为com.undergrowth,并加入相应的execute方法和属性
- packagecom.undergrowth;
- publicclassFirst{
- privateStringmsg;
- publicStringgetMsg(){
- returnmsg;
- }
- publicvoidsetMsg(Stringmsg){
- this.msg=msg;
- }
- publicStringexecute()
- {
- msg="这是第一个struts程序";
- return"success";
- }
- }
package com.undergrowth;
public class First {
private String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String execute()
{
msg="这是第一个struts程序";
return "success";
}
}
3.在WebContent目录下新建一个first.jsp文件 使用el表达式输出First的属性msg
- <%@pagelanguage="java"contentType="text/html;charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
- <title>Inserttitlehere</title>
- </head>
- <body>
- ${msg}
- </body>
- </html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>Insert title here</title>
</head>
<body>
${msg}
</body>
</html>
4.发布项目到tomcat,在浏览器中输入http://localhost:8080/struts2_form/first/first