Struts1提供PlugIn接口,可以动态增减ActionServlet的功能。如果需要在应用启动或关闭时完成某些操作,可以创建自己的PlugIn类。
Java代码:
package com.struts1.plugin;
import javax.servlet.ServletException;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
public class HelloWorldPlugIn implements PlugIn {
private String filename;
@Override
public void destroy() {
System.out.println("HelloWorldPlugIn.destroy");
}
@Override
public void init(ActionServlet servlet, ModuleConfig config) throws ServletException {
System.out.println("HelloWorldPlugIn.init");
System.out.println("filename = " + filename);
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
}
struts-config.xml:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
</global-forwards>
<action-mappings>
</action-mappings>
<plug-in className="com.struts1.plugin.HelloWorldPlugIn">
<set-property property="filename" value="/WEB-INF/struts-config.xml" />
</plug-in>
</struts-config>
启动服务器,输出:
HelloWorldPlugIn.init
filename = /WEB-INF/struts-config.xml