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为空

Struts 2.5.20 在Eclipse配置相关推荐

  1. eclipse配置虚拟路径后,每次启动tomcat都会虚拟路径失效的问题解决

    eclipse配置虚拟路径后,每次启动tomcat都会虚拟路径失效的问题解决 参考文章: (1)eclipse配置虚拟路径后,每次启动tomcat都会虚拟路径失效的问题解决 (2)https://ww ...

  2. java出现no XXX in java.library.path的解决办法及eclipse配置

    java出现no XXX in java.library.path的解决办法及eclipse配置 java一般使用两个path:classpath 和 java.library.path classp ...

  3. Eclipse配置Tomcat和JDK方法

    Eclipse配置Tomcat和JDK方法 Eclipse 下面配置J2EE开发环境 A:需要的软件及版本: 1.      eclipse-jee-kepler-SR1-win32 2.       ...

  4. Eclipse配置 Maven 异常处理

    问题简述 在配置Maven的时候,出现异常 Could not lookup required component com.google.inject.ProvisionException: Guic ...

  5. C++:Windows环境下基于Eclipse配置C/C++开发环境

    C++:Windows环境下基于Eclipse配置C/C++开发环境 目录 Windows下的MinGW下载.安装和配置 1.MinGW下载 2.MinGW安装与配置 3.基于Eclipse配置 Wi ...

  6. eclipse 配置jsp

    1.安装jdk和jre 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  7. Eclipse 配置 maven 的两个 settings 文件

    eclipse配置的settings文件名完全可以自定义,而本机maven只认识settings.xml文件. eclipse里配置maven有一个叫全局的,有一个叫用户的.这两个文件可以和本机mav ...

  8. hadoop-0.20.2安装配置

    该环境在Vmware Workstation 12 上安装配置一共三台机器master,slave1,slave2. 操作系统:Cenos 7.0 hadoop 版本:hadoop-0.20.2,版本 ...

  9. Eclipse配置Tomcat服务器,通用方法

    Eclipse配置Tomcat服务器 该方法适合所有Eclipse版本,可参考:http://blog.csdn.net/guyuealian/article/details/50763109 [1] ...

最新文章

  1. django权限系统实现步骤_Django密码系统实现过程详解
  2. java parse_Java命令行界面(第9部分):parse-cmd
  3. java jooq_将Java EE与jOOQ结合使用的初学者指南
  4. JavaScript设计模式 单例模式
  5. mysql中的replication_MySQL Replication(主从服务器)配置实例
  6. GoLand External Libraries不展示Go Modules
  7. 递归算法实例:阶乘(vb.net代码)
  8. 5e服务器显示steam名字,5e为什么不显示我csgo的名字(5ecsgo)
  9. vivado sata ip (phy)配置
  10. 修改或删除脚注或尾注的“横线”
  11. 发音问题纠正:边音l和鼻音n,前鼻音与后鼻音的区别与发音
  12. Git Branching基础操作学习笔记
  13. sklearn实战-----3.数据预处理和特征工程
  14. win10 支持ubuntu命令行的版本1607 产品密匙
  15. DCA决策曲线的解读和代码实现
  16. PCA主元分析方法描述
  17. 漫画英语作文怎么写 计算机,漫画类的英语作文怎么写
  18. 从阴阳五行,四书五经到国学的理解
  19. 使用cl_gui_docking_container实现多ALV
  20. 基于TCP/IP协议 区别 GET和POST

热门文章

  1. Rails项目结构详解
  2. Redhat 5 配置DHCP服务器
  3. WIN2003 下安装 WinWebMail 3.6.3.1
  4. MapInfo开发心得——控件篇【转】
  5. 提高C++代码质量 - [083]不要返回局部变量的引用
  6. 什么是IaaS, PaaS和SaaS及其区别
  7. 结构之美——优先队列基本结构(四)——二叉堆、d堆、左式堆
  8. 几种开源的TCP/IP协议栈分析
  9. 台湾积体电路制造公司(简称为台积电(TSMC))的28nm LP、HPM、HPC、HPC+四种不同处理器工艺版本的区别?
  10. redis一:非关系型数据库