• Struts2


    1、下载Struts2的jar包

    下载地址:http://archive.apache.org/dist/struts/binaries/

    我用的是struts-2.3.14-all.zip这个版本

     

    2、创建一个web project项目

    下面给出所有文件均创建完成后的工程师图。

    3、导入Struts2所需jar包

    因为只是示例程序,只需要导入Struts 2支持最小的包就可以了,网上很多教程中添加的最小包都有出入,教大家一个保险的方法。

    解压刚才下载的压缩包struts-2.3.14-all.zip,在apps文件夹下有个struts2-blank.war包,打开它,到WEB-INF/lib目录下,如下图所示,即为所需的最小包。包含的包应该和具体的Struts版本有关。

    4、配置web.xml

    下面进入到具体的配置编码阶段。

    打开web.xml,修改配置参数,修改后的具体配置如下。

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    	xmlns="http://java.sun.com/xml/ns/javaee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <display-name></display-name>	
      
      <!-- Struts2配置 -->
      <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>
      
    </web-app>
    

    这里需要注意的是

    这里面填入的类, 

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

    Since Struts 2.1.3, use StrutsPrepareAndExecuteFilter instead or StrutsPrepareFilterand StrutsExecuteFilter if needing using the ActionContextCleanUp filter in addition to this one..即,从Struts 2.1.3起已被标注为过时的,改用StrutsPrepareAndExecuteFilter。

    ***********************************************************************
    *                               WARNING!!!                            *
    *                                                                     *
    * >>> FilterDispatcher <<< is deprecated! Please use the new filters! *
    *                                                                     *
    *           This can be a source of unpredictable problems!           *
    *                                                                     *
    *              Please refer to the docs for more details!             *
    *            http://struts.apache.org/2.x/docs/webxml.html            *
    *                                                                     *
    *********************************************************************

    5、配置struts.xml

    下面需要创建struts.xml文件,配置strust2要调用的action。直接新建在src目录下,那样部署的时候会自动发布到WEB-INF/classes目录下,或者直接创建在WEB-INF/classes目录下面。

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    
        <struts>
            <package name="struts2" extends="struts-default">
                <action name="HelloWorld" class="tutorial.HelloWorld">
                    <result>/HelloWorld.jsp</result>
                </action>
            </package>
        </struts>


    其中,package元素,作用类似于Java包的机制,他是用于分门别类的一个工具,extends属性如他的名字一样,它继承了struts-default这个包的所有信息,一般我们自己创建一个包最好都继承它,因为他为我们提供了绝大部分的功能,你可以在struts2-core的jar包中的struts-default.xml文件中找到这个包。action元素对应与你的表单,例如你的表单的action="welcome",那么该表单提交后就会将参数交予action的name="welcome"的实现类处理。result元素为action的结果,它由动作类返回的控制字段选择。

    6、写action类(HelloWorld.java)

    这个类主要用于struts2跳转到这个action后。默认执行execute()方法。并根据结果返回字符,然后struts.xml根据返回的字符跳到相应的页面

    package tutorial;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class HelloWorld extends ActionSupport
    {
        public final static String MESSAGE = "Struts2 is up and running ...";
        
        private String message;
    
    
        /**
         * @return the message
         */
        public String getMessage()
        {
            return message;
        }
    
    
        /**
         * @param message the message to set
         */
        public void setMessage(String message)
        {
            this.message = message;
        }
    
    
        public String execute() throws Exception
        {
            setMessage(MESSAGE);
            return SUCCESS;
        }
    }
    

    7、写jsp页面

    新建一个jsp页面来呈现信息。

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <%@ taglib prefix="s" uri="/struts-tags" %>
    
    <html>
      <head>    
        <title>Hello World!</title>    
      </head>
      
      <body>
        <h2><s:property value="message" /></h2>
      </body>
    </html>
    

    8、部署运行

  • 相关阅读:
    AC自动机学习笔记(模板)
    codeforces1328E
    Codeforces 1288E- Messenger Simulator (树状数组)
    线性基小记
    HDU3949
    矩阵快速幂小记
    5E
    5D
    5C
    5B
  • 原文地址:https://www.cnblogs.com/zfx123--/p/7707883.html
Copyright © 2020-2023  润新知