zoukankan      html  css  js  c++  java
  • 部署Struts2框架

         Struts2框架是MVC的一个代表,具体的结构图如下:

         WEB服务器接收客户端的请求,将请求发送给控制器FilterDispatcher(实际上就是一个filter),控制器根据不同的请求,发送给相应的模型去处理,并将模型处理完的结果发送给视图,最终将视图发送给客户端,显示处理结果。下面构建一个structs2示例,首先新建一个java web程序:Struts2_HelloWorld。

    1.将Struts 2.0 lib下的jar文件加到工程的构建路径(build path)

          将下列文件:

          struts2-core-2.1.2.jar

          xwork-2.1.1.jar

          commons-logging-1.0.4.jar

          commons-fileupload-1.2.1.jar   (可选)

          commons-io-1.3.2.jar  (可选)

          freemarker-2.3.12.jar

          ognl-2.6.11.jar

          复制到Struts2_HelloWorld\WebContent\WEB-INF\lib目录下

    2.修改web.xml文件,如下:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        
    <display-name>Struts 2.0 Hello World</display-name>
        
    <filter>
            
    <filter-name>struts2</filter-name>       
             
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        
    </filter>
        
    <filter-mapping>
            
    <filter-name>struts2</filter-name>
            
    <url-pattern>/*</url-pattern>
        
    </filter-mapping>
        
    <welcome-file-list>
            
    <welcome-file>index.html</welcome-file>
        
    </welcome-file-list>
    </web-app>

    3.新建struts.xml文件

       在Struts2_HelloWorld\src右键新建一个文件,structs.xml,修改内容如下

    <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
            "http://struts.apache.org/dtds/struts-2.0.dtd"
    >
    <struts>
        
    <include file="struts-default.xml"/>
        
    <package name="tutorial" extends="struts-default">
            
    <action name="HelloWorld" class="tutorial.HelloWorld">
                
    <result>/Hello.jsp</result>
            
    </action>
        
    </package>
    </struts>

    4.新建SayHello.jsp

    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        
    <head>
            
    <title>Say Hello</title>
        
    </head>
        
    <body>
            
    <h3>Say "Hello" to: </h3>
            
    <s:form action="HelloWorld.action">
                Name: 
    <s:textfield name="name" />
                
    <s:submit />
            
    </s:form>
        
    </body>
    </html>

     

    5.新建Hello.jsp

    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        
    <head>
            
    <title>Hello</title>
        
    </head>
        
    <body>
            
    <h3><s:property value="name" /></h3>
        
    </body>
    </html>

    6.新建HelloWorld.java

         右键单击Struts2_HelloWorld\src,新建package:tutorial

       在tutorial右键单击,新建一个class,在“Name”中键入HelloWorld,在“Superclass”中键入com.opensymphony.xwork2.ActionSupport,点击“Finish”关闭对话框。将HelloWorld.java的内容修改为:

    package tutorial;

    import com.opensymphony.xwork2.ActionSupport;

    public class HelloWorld extends ActionSupport {
        
    private String name;
        
        
    public String getName() {
            
    return name;
        }
        
        
    public void setName(String name) {
            
    this.name = name;
        }
        
        
    public String execute() {
            name 
    = "Hello, " + name + "!"
            
    return SUCCESS;
        }
    }

    至此一个structs2的程序就修改完毕,发布这个程序:

    打开Internet Explorer,键入http://localhost:8080/Struts2_HelloWorld/SayHello.jsp,窗口输出如图25所示
    图25 SayHello.jsp
    图25 SayHello.jsp
    在“Name”键入字符串(如World),点击Submit,转到HelloWorld.jsp页面,如图26所示

    图26 HelloWorld.jsp
    图26 HelloWorld.jsp

    本文参考自http://www.blogjava.net/max/archive/2006/10/10/74353.html

  • 相关阅读:
    LeetCode Find Duplicate File in System
    LeetCode 681. Next Closest Time
    LeetCode 678. Valid Parenthesis String
    LeetCode 616. Add Bold Tag in String
    LeetCode 639. Decode Ways II
    LeetCode 536. Construct Binary Tree from String
    LeetCode 539. Minimum Time Difference
    LeetCode 635. Design Log Storage System
    LeetCode Split Concatenated Strings
    LeetCode 696. Count Binary Substrings
  • 原文地址:https://www.cnblogs.com/king1302217/p/2034296.html
Copyright © 2011-2022 走看看