Tomcat8.5+Struts 2.5.16 +MyEclipse

最近在学习OKHttp,这是个Android的网络框架,因此需要在本地搭建服务器。因为主要是学习OKHttp的框架,所以服务器只是搭建了最基础的部分。

Tomcat8.5+Struts 2.5.16 +MyEclipse直接搜索下载并解压即可。

1、新建一个web project。


2、Project name自己填写,在Target runtime中点击Add new Runtime


3、选择8.5的版本


4、在Tomcat installation directory选择下载解压后的Tomcat路径,JRE选择1.8,之后点击finish,这样Tomcat就ok了。


5、现在配置struts,解压下载struts,进入到apps目录下,有两个war文件,struts2-rest-showcase.war和struts2-showcase.war,这边使用struts2-rest-showcase.war,将文件后缀改名为rar并解压。得到如下界面


6、进入WEB-INF/lib文件夹下,会看到有很多jar包,将所有jar包复制黏贴到项目路径下的WEB-INF/lib目录下。


7、在WEB-INF下有个web.xml文件,同样将其拷贝到项目的WEB-INF路径下。并删除一些不必要的配置项,

<web-app id="starter" 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 2 Rest Example</display-name>


  <!-- Filters -->
  <!-- START SNIPPET: filter -->
    <filter>
        <filter-name>action2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <!-- END SNIPPET: filter -->

    <filter-mapping>
        <filter-name>action2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Welcome file lists -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <!-- Restricts access to pure JSP files - access available only via Struts action -->
 
</web-app>

8、在WEB-INF/classes目录下有个struts.xml文件,同样将其复制到项目的src目录下,并进行修改。

<struts>
	<!-- Overwrite Convention -->
	<constant name="struts.convention.action.suffix" value="Controller" />
	<constant name="struts.enable.DynamicMethodInvocation" value="true" />
	<constant name="struts.convention.action.mapAllMatches" value="true" />
	<constant name="struts.action.extension" value="action,," />
	<constant name="struts.convention.package.locators" value="example" />

</struts>

9、项目变成了如下:


10、在src中新建包并新建类,这里只是为了验证是否搭建成功,因此不整太复杂的,一定要继承ActionSupport。

package com.test;

import com.opensymphony.xwork2.ActionSupport;

public class ActionForTest extends ActionSupport {
	public void test() {
		System.out.println("Success!!!");
	}

}

11、在struts.xml中配置test方法。action中name可以自己取,class为刚才新建的class名称,method为方法名。struts.xml就变成了这样:

<struts>
	<!-- Overwrite Convention -->
	<constant name="struts.convention.action.suffix" value="Controller" />
	<constant name="struts.enable.DynamicMethodInvocation" value="true" />
	<constant name="struts.convention.action.mapAllMatches" value="true" />
	<constant name="struts.action.extension" value="action,," />
	<constant name="struts.convention.package.locators" value="example" />

	<package name="strutsTest" extends="struts-default">
		<action name="test" class="com.test.ActionForTest" method="test"></action>
	</package>
</struts>
12、在Servers中找到8.5将项目添加进去。并启动server,右击server下的项目名,点击Open in web browser,

之后在地址后面追加你定义的方法名,这里为test。回车,之后会看到在控制台有Success!!!输出

需要注意的点是如果使用的是Struts2.5版本需要将struts2-rest-plugin-2.5.16.jar包从项目中移除,否则会报Wrong method was defined as an action method: index的异常,原因暂时没有跟进,如果有大神知道原因还请告知下,谢谢!

版权声明:本文为weixin_38167954原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38167954/article/details/80049097