首页 > 代码库 > struts框架
struts框架
软件151 马金忠
Struts 2和传统的MVC框架有些不同,在该框架中的作用的模式,而不是控制器的作用略有不同,虽然有一些重叠。这是Struts的MVC模式的体系结构概述。
上图描述了Struts2的高层体系结构模型,视图和控制器。一个Struts2的调度Servlet过滤器和拦截器与控制器实现,该模型实现的动作和视图的组合的结果类型和结果。值栈和OGNL提供了共同点,其他部件之间的连接和集成。
基于上述数据图,可以解释用户的请求的生命周期在Struts 2如下所示:
下载并且解压struts之后可以把lib目录下的一下文件复制到我们的项目WEB-INFlib 目录. 要做到这一点,你可以简单地将下降到WEB-INFlib文件夹中的所有下列文件。(下面是最小依赖集)
commons-fileupload-x.y.z.jar
commons-io-x.y.z.jar
commons-lang-x.y.jar
commons-logging-x.y.z.jar
commons-logging-api-x.y.jar
freemarker-x.y.z.jar
javassist-.xy.z.GA
ognl-x.y.z.jar
struts2-core-x.y.z.jar
xwork-core.x.y.z.jar
创建动作类(Action Class):
Action类是Struts 2的应用程序的关键,我们实现了大部分的Action类中的业务逻辑。Action类来响应用户的操作,当用户点击一个URL。 Action类中的一个或多个方法被执行,并返回一个字符串结果。基于结果的值,一个特定的JSP页面的呈现方式。
package
com.tutorialspoint.struts2;
public
class
HelloWorldAction{
private
String name;
public
String execute()
throws
Exception {
return
success;
}
public
String getName() {
return
name;
}
public
void
setName(String name) {
this
.name = name;
}
}
创建视图(View)
我们需要一个JSP提交最后的消息,这个页面会使用在Struts 2框架中预定义的动作时,这将会发生在struts.xml文件中定义的映射。
<%@ page contentType=text/html; charset=UTF-
8
%>
<%@ taglib prefix=s uri=/struts-tags %>
接下来创建一个主页面:
我们还需要在WebContent文件夹中创建index.jsp页面文件。该文件将作为初始动作URL,用户可以直接点击告诉Struts2框架调用的HelloWorldAction类定义的方法并渲染HelloWorld.jsp视图。
配置文件
<!--?xml version=
1.0
encoding=UTF-
8
?-->
<struts>
<constant name=
"struts.devMode"
value=http://www.mamicode.com/
"true"
>
<
package
extends
=
"struts-default"
name=
"helloworld"
>
<result name=
"success"
>/Hello.jsp</result>
</action>
</
package
>
</constant></struts>
下一步是创建一个web.xml文件这是任何请求发送到Struts2的一个切入点。Struts2的应用程序的入口点,将是一个部署描述符(web.xml)中定义的过滤器。
在web.xm文件中,我们定义一个过滤器org.apache.struts2.dispatcher.FilterDispatcher. web.xml文件需要创建WEB-INF文件夹下的WebContent。 Eclipse在创建项目时已经创建了一个web.xml文件。所以,让我们只需要修改如下:
<!--?xml version=
1.0
encoding=UTF-
8
?-->
<web-app http:=
""
id=
"WebApp_ID"
java.sun.com=
""
javaee=
""
ns=
""
version=
"3.0"
web-app_3_0.xsd=
""
xml=
""
xmlns=
"http://java.sun.com/xml/ns/javaee"
xmlns:web=
"http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemalocation=
"http://java.sun.com/xml/ns/javaee"
>
<display-name>Struts
2
</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-
class
>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-
class
>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
struts框架