关于程序员:01-struts2介绍

struts2长处

  • 与Servlet API 耦合性低。无侵入式设计
  • 提供了拦截器,利用拦截器能够进行AOP编程,实现如权限拦挡等性能
  • 反对多种体现层技术,如:JSP、freeMarker、velocity等
  • 输出校验能够对指定办法进行校验,解决了struts1短暂之痛
  • 提供了全局范畴、包范畴和Action范畴的国际化资源文件治理实现

搭建struts2开发环境

1. 导包

  • struts2-core-2.x.x.jar:外围类库
  • xwork-2.x.x.jar:XWork类库,struts2在其上构建
  • ognl-2.6.x.jar:对象图导航语言,struts2通过其读写对象属性
  • freemarker-2.3.x.jar:struts2的UI标签的模板应用FreeMarker编写
  • commons-logging-1.1.x.jar:ASF出品的日志包,struts2应用这个日志包来反对log4j和jdk1.4+的日志目录
  • commons-fileupload-1.2.1.jar:文件上传组件,2.1.6后必须退出此文件

2. 配置web.xml文件

<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>
  • struts2框架通过Filter启动
  • StrutsPrepareAndExecuteFilter的init()办法中将会读取类门路下默认的配置文件struts.xml实现初始化操作
  • struts2读取到struts.xml的内容后,以JavaBean模式寄存在内存中,当前struts2对用户的每次申请解决将应用内存中的数据,而不是每次都读取struts.xml文件

3. 编写Action类,这是咱们的逻辑控制器

package com.liuyong666.action;

public class HelloWorldAction {
    private String msg;
    
    public String getMessage() {
        return msg;
    }

    public String execute(){
        msg = "我的第一个struts2利用";
        return "success";
    }
}

4. 配置src/struts.xml,外围配置文件中配置action

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
   <package name="liuyong666" namespace="/test" extends="struts-default">
        <action name="helloworld" class="com.liuyong666.action.HelloWorldAction" method="execute" >
            <result name="success">/WEB-INF/page/hello.jsp</result>
        </action>
    </package> 
</struts>
  • 在struts2中应用包治理Action
  • 配置包时必须指定name属性,能够任意名,但必须惟一
  • namespace定义该包的命名空间,为拜访该包下Action的门路的一部分,如上边例子的拜访门路为:/test/helloworld.action。也能够不配置
  • 继承struts-default包,该包领有struts2提供的外围性能,领有各种拦截器。
  • 包可通过abstract=”true”定义为形象包,形象包中不能蕴含action

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据