在Eclipse里面配置Struts2

Posted alittlecomputer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Eclipse里面配置Struts2相关的知识,希望对你有一定的参考价值。

下面介绍在Eclipse里面配置Struts2

下载Struts2的压缩包

我下载的是2.3.32版本

解压之后如图所示

apps目录:Struts2的范例

docs目录:Struts2的文档

lib目录:Struts2的类库

src目录:关于Struts2的一些资源

在apps目录下面有几个例子

使用jar解压

jar -xvf struts2-blank.war 

解压之后得到

在struts-2.3.32\\apps\\WEB-INF\\classes下找到struts.xml文件

在Eclipse里面配置Tomcat服务器

我的机器上下载的是Tomcat9的包,所以配置Tomcat9

然后选择你的Tomcat的位置。

配置完后是这样

 

在Eclipse里面创建一个web工程

 完成之后是这样

将struts.xml文件复制到Eclipse新建工程的src目录下,在我的工程中如下图:

在解压struts2-blank.war得到的WEB-INF目录下打开lib目录,如下图:

 

将所有的jar包复制到新建工程Struts2Learn的WebContent的WEB-INF的lib目录下,在我的工程中如下图:

在解压struts2-blank.war得到的WEB-INF目录下有web.xml文件

文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>Struts Blank</display-name>

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</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>

    <!-- Restricts access to pure JSP files - access available only via Struts action -->
    <security-constraint>
        <display-name>No direct JSP access</display-name>
        <web-resource-collection>
            <web-resource-name>No-JSP</web-resource-name>
            <url-pattern>*.jsp</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>no-users</role-name>
        </auth-constraint>
    </security-constraint>

    <security-role>
        <description>Don\'t assign users to this role</description>
        <role-name>no-users</role-name>
    </security-role>

</web-app>

将<filter></filter>和<filter-mapping></filter-mapping>元素复制到Eclipse新建工程Struts2Learn的web.xml文件中,我的web.xml文件如下所示:

在Eclipse中打开复制来的struts.xml文件,将文件中<struts>和</struts>之间的内容注释掉,并添加如下所示的代码:

<package name="default" namespace="/" extends="struts-default">
    <action name="hello">
        <result>
            /Hello.jsp
        </result>
    </action>
</package>

 

在Ecplise中新建一个Hello.jsp文件,在<body>标签之间写如下代码:

 

 

至此,开发环境初步搭建完成。

 

以上是关于在Eclipse里面配置Struts2的主要内容,如果未能解决你的问题,请参考以下文章

eclipse使用struts2找不到action方法或找不到action的错误记录

Eclipse 中的通用代码片段或模板

eclipse javaee2019-12配置Struts2

Eclipse配置Struts2.x

怎么部署struts2 项目

Eclipse配置Struts2问题:ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndE