zoukankan      html  css  js  c++  java
  • 17.struts-开发流程.md


    目录

    struts2.3.4

    struts2 = struts1 + xwork

    基本步骤

    1. 导包,struts2.3有八个包要导入

    • commons-fileupload-1.2.2.jar --->文件上传
    • commons-io-2.0.1.jar --->io操作
    • commons-lang3-3.1.jar --->java.lang包的增强
    • freemarker-2.3.19.jar --->标签模板库
    • javassist-3.11.0.GA.jar --->字节码处理
    • ognl-3.0.5.jar --->Ognl表达式支持
    • struts2-core-2.3.4.1.jar --->核心功能包
    • xwork-core-2.3.4.1.jar --->xwork功包

    2. 配置web.xml,引入struts核心功能,配置过滤器

    核心类:StrutsPrepareAndExecuteFilter,如果记不住可以用ctrl + shift + t中输入strpex的模糊匹配实现

    • 核心功能的初始化通过过滤器来完成--->init、doFilter、destory执行
    • 不同版本的核心类不同
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>StrutsDemo1</display-name>
      
      <!-- 引入struts核心过滤器 -->
      <!-- 其实就是配置一个普通的过滤器 -->
      <filter>
          <!-- struts2引入 -->
          <filter-name>stucts2</filter-name>
          <!-- 核心类:StrutsPrepareAndExecuteFilter。可以用ctrl + shift + t中输入 -->
          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class>
      </filter>
      
      <filter-mapping>
          <!-- struts2引入 -->
          <filter-name>stucts2</filter-name>
          <!-- 过滤所有网页 -->
          <url-pattern>/*</url-pattern>
      </filter-mapping>
      
    </web-app>  
    
    

    3. 开发action

    核心类:ActionSupport,重写方法execute
    用action类来取代之前的servlet类,不同于servlet静态,这个对应的action类每次访问都创建
    这个方法不能有参数,必须返回String

    package per.liyue.code.struts2_demo;
    import com.opensymphony.xwork2.ActionSupport;
    /*
     * 核心类:ActionSupport
     */
    public class HelloAction extends ActionSupport {
        
        //这个重写方法实际上就是action的标记返回跳转
        @Override
        public String execute() throws Exception {
            System.out.println("进入action,开始处理...");
            System.out.println("从action中调用servlet");
            
            //这里返回的String标记和struts配置中跳转页面标记是一样的
            return "success";
        }
    }
    

    4. 配置action

    1. 配置struts.xml。这个文件可以从struts类库中搜索拷贝,最好是带有文件编码头。
    

    放到src下

    <?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可以随意填写 ,后面的extends必须按照格式-->
        <package name="default" extends="struts-default">
            <!-- action的name对应的是访问路径, class是实际的类,方法是执行的方法名 -->
            <action name="hello" class = "per.liyue.code.struts2_demo.HelloAction" method="execute">
                <!-- 这里result的name和对应的Action类中的返回标签一致 -->
                <result name="success">/success.jsp</result>
            </action> 
        </package>
    </struts>
    
  • 相关阅读:
    Linux 守护进程一
    Linux 改进捕捉信号机制(sigaction,sigqueue)
    Linux 发送信号
    Linux 信号捕捉
    Heartbeat+DRBD+MFS高可用
    centos7 MFS drbd keepalived
    RabbitMQ-官方指南-RabbitMQ配置
    CentOS 7 单用户模式+救援模式
    CentOS6.8 x64+Nginx1.3.8/Apache-httpd 2.4.3+PHP5.4.8(php-fpm)+MySQL5.5.28+CoreSeek4.1源码编译安装
    nginx定制header返回信息模块ngx_headers_more
  • 原文地址:https://www.cnblogs.com/bugstar/p/8512708.html
Copyright © 2011-2022 走看看