Struts 2.5.20 在Eclipse配置

Struts 2.5.20 在Eclipse配置

转自:https://blog.csdn.net/qq_17058993/article/details/86627269

参考博客:

1、Struts框架入门教程

2、Struts 2.5.10.1配置

注意 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 已经不存在了 

改为 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

一、创建web工程 
老套路

二、下载Struts 2.5.20 jar 
1、https://struts.apache.org/download.cgi#struts2520

2、从struts-2.5.20-all\struts-2.5.20\lib 中找到下面几个jar,添加到web工程的lib中,(都添进去反而报错)

三、新建 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;
    }
}
 

四、新建 struts.xml


1、查看 struts-2.5.20\apps\WEB-INF\classes 里找到 struts.xml,为了让其在tomact的 classes中生成,必须放倒工程的src下面,不然找不到action。

2、对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>    
 

五、修改 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

六、分别创建三个页面 


1、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>

2、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>

3、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>

七、测试 

访问:http://localhost:8081/你的工程名/index.jsp,例如我的是http://localhost:8081/struts2/index.jsp

1、正常输入name

2、name为空

猜你喜欢

转载自blog.csdn.net/yual365/article/details/87808431