struts2小例子

 

一、struts2简介

1、什么是struts2?

  struts2是目前java主流的MVC框架

  MVC思想:能够将web应用中将各组件按功能进行分类,不同组件使用不同技术充当。

     推荐将系统分为Model(模型层)、View(视图层)和Controller(控制层),

     各层之间松耦合,提供良好的封装。

2、struts2版本

目前struts2的最高版本为2.3.1

但是同spring结合的最好的版本为2.2.3,经使用2.2.3也比较稳定

所以建议使用struts2.2.3版本。

3、struts2的基本配置

a)web.xml文件中增加

<!-- 配置struts2 -->

   <filter>

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

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

<init-param>

    <param-name>config</param-name>

    <param-value>

    struts-default.xml,struts-plugin.xml,struts/struts.xml

  </param-value>

</init-param>

</filter> 

<filter-mapping>

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

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

</filter-mapping>

此处可以通过config参数自由的指定struts配置文件的位置,

注意:此处如果想要增加config参数,那么value中至少要有struts-default.xml和struts-plugin.xml

其中struts-default.xml是struts2核心包中的重要配置文件,里面配置大量的struts2需要的组件

   struts-plugin.xml是struts2插件包中的配置文件名,struts2插件包中都会存在这个文件。

   只有struts.xml是可供我们修改的配置文件,在struts.xml可以配置任何能在struts2核心包

org.apache.struts2包下default.properties文件中存在的参数的值

b)项目中引用如下包:

commons-fileupload-1.2.2.jar,

commons-logging-api-1.1.jar,

freemarker-2.3.16.jar,

ognl-3.0.1.jar,

struts2-core-2.2.3.jar,

xwork-core-2.2.3.jar,

commons-lang-2.5.jar,

commons-io-2.0.1.jar,

javassist-3.11.0.GA.jar。

c)增加struts.xml文件,对struts进行设置

4、org.apache.struts2.dispatcher.FilterDispatcher的作用

(1)执行Actions

            过滤器通过ActionMapper对象,来判断是否应该被映射到Action.如果mapper对象指示他应该被映射,过滤链将会被终止,

            然后Action被调用。这一点非常重要,如果同时使用SiteMesh filter,则SiteMesh filter应该放到该过滤器前,否则

            Action的输出将不会被装饰。

         (2)清除ActionContext

            过滤器为了防止内存溢出,会自动的清除ActionContext。这会导致同strut2结合较深的一些过滤器出现问题。

            为防止其他过滤器使用ActionContext中的值,而被FilterDispatcher自动清除的情况出现。

            通常在web.xml中加入

            <!-- 延长action中属性的生命周期, -->

<filter>

<filter-name>struts-cleanup</filter-name>

<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>

</filter>

<filter-mapping>

<filter-name>struts-cleanup</filter-name>

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

</filter-mapping>

 

 此过滤器应该配置在org.apache.struts2.dispatcher.FilterDispatcher之前,

 此过滤器的作用为当请求通过过滤器时,过滤器将request中的一个名为“__cleanup_recursion_counter”的环境变量加1,

 当请求结束时将此环境变量减1

 而FilterDispatcher中的清除机制,是有判断的,它会判断此时的,此环境变量是否为0,如果为0才清除。

 

      5、BaseAction 公共的父类,继承ActionSupport 

实现 ServletContextAware,ServletResponseAware, 

ServletRequestAware, SessionAware    

 

           声明变量

            protected ServletContext servletcontext;

protected HttpServletResponse httpservletresponse;

protected HttpServletRequest httpservletrequest;

protected HttpSession httpSession;

protected Map<String, Object> session;

 6、简单的登陆实现、表单验证

 

 7、登陆过滤器

 

 8、前台标签,<s:iterator>、<s:if>、<s:property>

  <s:form>、<s:actionerror>、<s:fielderror>、

  <s:text>、<s:textfield> 、<s:password>、<s:submit>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值