Struts 2.5.20 在Eclipse IDE中的配置和開發實例


零、參考博客
一、Struts框架入門教程
二、Struts 2.5.10.1配置html

三、eclipse中搭建Struts2.5.16java

四、Struts2.5+eclipse+tomcat8.5配置web


注意: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 已經不存在了,須要修改成: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilterapache


1、建立web工程
老套路,以下所示:api

2、下載Struts 2.5.20 jar 

一、https://struts.apache.org/download.cgi#struts2520tomcat

二、從struts-2.5.20-all\struts-2.5.20\lib 中找到下面幾個jar,添加到web工程的lib中,(不要將.jar包所有都添加進去,都添進去反而報錯)服務器

附註:與Struts2.3比起來少了一個xwork-core-2.3.34.jar,多了一個log4j-api-2.7.jar。這是由於xwork-core-2.3.34.jar已經整合到Struts2-core中了,若是沒有導入log4j-api-2.7jar的話,在web.xml和struts.xml都配置正確的狀況下,會報出如下的錯誤:app

 

3、新建 action類:HelloWorldAction.java

package com.ews.cn;
 
public class HelloWorldAction {
 
    private String name;
 
    public String execute() throws Exception {
 
        System.out.println("getName:" + getName());
 
        if (getName().equals("") || getName() == null) {
            return "error";
        } else {
            return "success";
        }
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}

  4、新建 struts.xml框架

方法是:選中項目——右鍵——新建——其餘,在搜索框內輸入xml,而後選擇:    (注意必定要將該xml文件命名爲:struts.xml,不能出錯。)eclipse

可是在新生成的xml文檔中只有版本信息,所以還須要將如下內容複製到xml文檔中。

 

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">

這樣eclipse纔會出現提示。以上須要複製的內容能夠從Struts目錄下打開apps文件夾,其中有兩個war包,隨便其中一個war包解壓出來,依次打開WEB-INF——src找到裏面的Struts.xml就能夠找到上面的這段話。

 

一、查看 struts-2.5.20\apps\WEB-INF\classes 裏找到 struts.xml,爲了讓其在tomact的 classes中生成,必須放倒工程的src下面,否則找不到action。

二、對struts.xml進行修改:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
<constant name="struts.enable.DynamicMethodInvocation"
value="true" />

<package name="com.ews.cn" extends="struts-default">
<!-- <global-allowed-methods>add, update</global-allowed-methods> -->
<action name="hello" class="com.ews.cn.HelloWorldAction" method="execute">
<result name="success">/HelloWorld.jsp</result>
<result name="error">/Error.jsp</result>
</action>
</package>
</struts>

  

5、修改 web.xml,配置 struts 過濾器

<?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"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
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>HelloWorldStruts2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

</web-app> 

注意:

struts2.5 中的是 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter , 而不是 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

6、分別建立三個頁面 

一、index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello World Struts2</h1>
<form action="hello">
<label for="name">Please enter your name</label><br/>
<input type="text" name="name"/>
<input type="submit" value="Enter"/>
</form>
</body>
</html>

  

二、HelloWorld.jsp

<s:property value="name"/> 須要引入標籤 <%@ taglib uri="/struts-tags" prefix="s"%>

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello World, Welcome! <s:property value="name"/>
</body>
</html>

  

三、Error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
You did not have entered a name!
</body>
</html>

  

7、將Web應用部署到Apache Tomcat服務器上

 

8、測試 

訪問:http://localhost:8081/MyStruts2/index.jsp

一、正常輸入name

二、name爲空

相關文章
相關標籤/搜索