zoukankan      html  css  js  c++  java
  • 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、部署运行

  • 相关阅读:
    85. Maximal Rectangle
    120. Triangle
    72. Edit Distance
    39. Combination Sum
    44. Wildcard Matching
    138. Copy List with Random Pointer
    91. Decode Ways
    142. Linked List Cycle II
    异或的性质及应用
    64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/zfx123--/p/7707883.html
Copyright © 2011-2022 走看看