首页 > 代码库 > 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 %>
taglib指令告诉Servlet容器中,这个页面将使用Struts2标签,这些标签之前,将通过s。s:property标签显示动作类‘name’的属性值,是调用HelloWorldAction 类的方法getName()。

接下来创建一个主页面:

我们还需要在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框架,很轻松,有很好用,理解了这些,我们在编写类似这些代码的时候就很轻松了
 

struts框架