**Struts2的入门步骤(重点掌握开发的步骤,尤其要记住拷贝哪些配置文件)** 0. 需求:编写JSP的页面,超链接,点击超链接发送请求,让框架某个类中的某个方法执行了。 1. 步骤一:下载Struts2的开发包 * http://struts.apache.org/download.cgi 2. 解决struts-2.3.15.3-all.zip包 * 解压后会看到有包和一些文件,大家需要掌握包相关的信息 * apps -- Struts2框架提供了一些应用。 * libs -- Struts2框架开发的jar包. * docs -- Struts2框架开发文档. * src -- Struts2框架源码. 3. 创建web项目,引入需要开发的jar包 * Struts2框架的开发jar包非常多,但是不是所有都是必须要引入的,有一些必须要导入的jar包,这些jar包可以从Struts2框架提供的应用中找到。 * 大家可以打开apps目录,然后找到struts2-blank.war应用。war包和zip包的压缩格式是一样的,所以可以自己修改后缀名,解压。 * 找到解压后的应用,打开WEB-INF/lib目录下所以的jar包。复制到工程中,就可以了。 * Struts2的开发环境就准备好了。 4. 在工程中创建一个JSP的页面,编写一个超链接,点击,去访问后台程序!! * 例如: <h3>Struts2的入门程序</h3> <a href="${ pageContext.request.contextPath }/hello.action">Struts2入门程序</a> 5. 需要配置Struts2的前端控制器,注意:这一步是必须要做的操作,这是Struts2核心的控制器。 * Struts2的前端控制器就是一个过滤器,那么过滤器相关知识咱们都学习过,需要在web.xml中进行配置。 * 前端控制器的类的路径和名称:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter * 怎么找到这个类呢? * 打开工程中引入的jar包 Web App Libraries,找到核心struts2-core-2.3.15.3.jar,点开。 * 找到这个org.apache.struts2.dispatcher.ng.filter包结构 * 找个这个StrutsPrepareAndExecuteFilter.class的文件,可以导入源代码,或者先拷贝路径页可以。 * 具体配置如下 <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> ---------- **编写Action类** 1.Action类就相当于以前编写的Servlet程序,但是注意它们是不同的。 package cn.itcast.action; /** * 执行的方法: * * 默认的名字就是execute. * * 方法格式固定: * * public String execute() */ public class HelloAction { public String hello(){ System.out.println("hello Struts2..."); return "success"; } } ---------- **编写Struts的配置文件** 1.配置文件名称是struts.xml(名称必须是struts.xml) 2.在src下引入struts.xml配置文件(配置文件的路径必须是在src的目录下) 3.配置如下 <struts> <package name="default" namespace="/" extends="struts-default"> <action name="hello" class="cn.itcast.action.HelloAction" method="hello"> <result name="success">/pages/success.jsp</result> </action> </package> </struts> ---------- **总结:入门的步骤** 1. 创建JavaWEB项目,编写demo1.jsp的页面,提供超链接!! 2. 下载Struts2开发的jar包(下载的是.zip文件)解压后需要大家来了解具体的包的结构!! 3. 在WEB项目中导入Struts2框架必须要依赖的jar包(13个) 4. 在web.xml中配置Struts2的前端控制器(过滤器) 5. 编写Action的类,编写的方法,public修饰类,返回String,没有参数列表 6. 需要复制struts.xml配置文件,在src的目录下,完成具体的Action类的配置 7. 配置结果的跳转页面
demo1.jsp:
<%@ 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> <h3>struts2框架的入门</h3> <a href="${pageContext.request.contextPath }/hello.action">struts2框架的入门</a> </body> </html>
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 需要配置包的结构 --> <package name="demo1" extends="struts-default" namespace="/"> <!-- 配置Action的类 --> <action name="hello" class="demo1.HelloAction" method="sayHello"> <!-- 配置Action的结果跳转页面 --> <result name="ok">/demo1/suc.jsp</result> </action> </package> </struts>
HelloAction:
package demo1; public class HelloAction { /** * Action类中的方法的格式是有要求的,必须要符合要求 * public修饰类 * 必须有返回值 * 方法是没有参数列表的 */ public String sayHello(){ System.out.println("struts2的入门程序"); //跳转到成功页面 return "ok"; } }
suc.jsp:
<%@ 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> <h3>入门程序跳转成功!</h3> </body> </html>