部署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

原文地址:https://www.cnblogs.com/king1302217/p/2034296.html