您的位置:首页 > 编程语言 > Java开发

struts2开发流程

2015-09-07 08:54 411 查看
struts2是基于经典的MVC模式开发的框架,其由servlet充当Controller,由JSP充当View,由javaBean充当Model。

       javaBean是一种JAVA语言写成的可重用组件,特点:1.类必须是公共的和具体的,并具有无参数的构造器。2.属性变量是private类型,即属性变量不直接暴露出来,但必须提供public的getter()和setter()方法,供外部调用这些属性变量。

       用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包。本质上来说,javaBean也是普通的java对象,只不过它遵循了一些约定而已,是一种可被其他java对象、servlet或javaBean重用的组件。

       Struts2框架中经常使用的action类(继承了ActionSupport类或是实现了Action接口)和Struts2框架核心的拦截器等一同组成了Controller。

Struts2应用的开发步骤:
1.在web.xml文件中定义核心Filter来拦截用户请求。

       Web应用是基于请求/响应架构的应用,需要在web.xml中配置该框架核心的Servlet或Filter才能让该框架介入Web应用中。

       <!--定义Struts2的核心Filter-->

       <filter>

           <filter-name>struts2</filter-name>

           <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

       </filter>

       <!--让struts2的核心Filter拦截所有请求-->

       <filter-mapping>

            <filter-name>struts2</filter-name>

            <url-pattern>/*</url-pattern>

       </filter-mapping>

如果需要配置网站首页,则采用下面的配置信息:

       <!--配置Web应用的首页列表-->

       <welcome-file-list>

             <welcome-file>index.html</welcome-file>

             <welcome-file>index.htm</welcome-file>

             <welcome-file>index.jsp</welcome-file>

        </welcome-file-list>

上述配置信息配置了网站首页依次为index.html、index.htm、index.jsp,也就是说,如果没有index.html页面,则会访问index.htm页面;如果没有index.html、index.htm页面,则会访问index.jsp页面。

2.定义处理用户请求的Action类,并配置处理结果与视图资源之间的对应关系。

       在struts2框架中,Controller实际上由两个部分共同组成,即拦截所有用户请求,处理请求的通用代码都由核心拦截器完成(这个是Struts2框架已经提供的,不需要开发者实现),而实际的业务控制则由Action处理(这个需要开发者实现)。

Action实现:

方法1:实现Action接口

       具有private类型的属性,并有getter与setter方法,以便属性可以被外部访问。实现Action接口的action类在struts.xml文件中不需要配置method参数,默认调用action类中的execute()方法来执行。

public class LoginAction implements Action{

private String user;

    public void setUser(String user){

        this.user=user;

    }

    public void getUser(){

        return this.user;

    }

    public String
execute(){

        ....

        return ”resultStr“;

    }

}

在struts.xml中的配置信息如下:

<package  name=“lee"  extends=”struts-default“>

        <action name="login"  class="包名.LoginAction">

                <result name="resultStr">/WEB-INF/content/resultStr.jsp</result>

        </action>

</package>

当LoginAction的execute方法返回resultStr时,显示层页面将展示/WEB-INF/content/resultStr.jsp页面。

方法2:继承ActionSupport类
       具有private类型的属性,并有getter与setter方法,以便属性可以被外部访问。继承ActionSupport类的Action类可以使用任何方法执行请求,但必须在struts.xml文件中给出method参数的配置信息。

public class LoginAction extends ActionSupport{

private String user;

    public void setUser(String user){

        this.user=user;

    }

    public void getUser(){

        return this.user;

    }

    public String
loginMethod(){

        ....

        return ”resultStr“;

    }

}

在struts.xml中的配置信息如下:

<package  name=“lee"  extends=”struts-default“>

        <action name="login"  class="包名.LoginAction" 
method='loginMethod'>

                <result name="resultStr">/WEB-INF/content/resultStr.jsp</result>

        </action>

</package>
3.编写视图资源(jsp页面或html页面)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2