http://ehcache.org/downloads/catalogjava
下載ehcache-server-1.0.0-distribution.tar.gzweb
http://tomcat.apache.org/download-60.cgiapache
下載tomcat6api
安裝tomcat6(安裝路徑裏最好不要有空格)tomcat
解壓ehcache-server-1.0.0-distribution.tar.gzsession
文件夾名:ehcacheapp
目錄結構:webapp
ehcache測試
--META-INFui
--WEB-INF
在WEB-INF下的web.xml裏disable SOAP Web Services
即註釋掉
<servlet>
<servlet-name>EhcacheWebServiceEndpoint</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>EhcacheWebServiceEndpoint</servlet-name>
<url-pattern>/soap/EhcacheWebServiceEndpoint</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
下載:slf4j-api-1.7.7.jar slf4j-jdk14-1.7.7.jar
放入:WEB-INF\lib,刪除slf4j-api-1.5.8.jar
將ehcache放到tomcat6的webapps,啓動tomcat
用官網例子進行測試
import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; /** * A simple example Java client which uses the built-in java.net.URLConnection. * * @author BryantR * @author Greg Luck */ public class ExampleJavaClient { private static String TABLE_COLUMN_BASE = "http://localhost:8080/ehcache/rest/tableColumn"; private static String TABLE_COLUMN_ELEMENT = "http://localhost:8080/ehcache/rest/tableColumn/1"; /** * Creates a new instance of EHCacheREST */ public ExampleJavaClient() { } public static void main(String[] args) { URL url; HttpURLConnection connection = null; InputStream is = null; OutputStream os = null; int result = 0; try { //create cache URL u = new URL(TABLE_COLUMN_BASE); HttpURLConnection urlConnection = (HttpURLConnection) u.openConnection(); urlConnection.setRequestMethod("PUT"); int status = urlConnection.getResponseCode(); System.out.println("Status: " + status); urlConnection.disconnect(); //get cache url = new URL(TABLE_COLUMN_BASE); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.connect(); is = connection.getInputStream(); byte[] response1 = new byte[4096]; result = is.read(response1); while (result != -1) { System.out.write(response1, 0, result); result = is.read(response1); } if (is != null) try { is.close(); } catch (Exception ignore) { } System.out.println("reading cache: " + connection.getResponseCode() + " " + connection.getResponseMessage()); if (connection != null) connection.disconnect(); //create entry url = new URL(TABLE_COLUMN_ELEMENT); connection = (HttpURLConnection) url.openConnection(); connection.setRequestProperty("Content-Type", "text/plain"); connection.setDoOutput(true); connection.setRequestMethod("PUT"); connection.connect(); String sampleData = "Ehcache is way cool!!!"; byte[] sampleBytes = sampleData.getBytes(); os = connection.getOutputStream(); os.write(sampleBytes, 0, sampleBytes.length); os.flush(); System.out.println("result=" + result); System.out.println("creating entry: " + connection.getResponseCode() + " " + connection.getResponseMessage()); if (connection != null) connection.disconnect(); //get entry url = new URL(TABLE_COLUMN_ELEMENT); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.connect(); is = connection.getInputStream(); byte[] response2 = new byte[4096]; result = is.read(response2); while (result != -1) { System.out.write(response2, 0, result); result = is.read(response2); } if (is != null) try { is.close(); } catch (Exception ignore) { } System.out.println("reading entry: " + connection.getResponseCode() + " " + connection.getResponseMessage()); if (connection != null) connection.disconnect(); } catch (Exception e) { e.printStackTrace(); } finally { if (os != null) try { os.close(); } catch (Exception ignore) { } if (is != null) try { is.close(); } catch (Exception ignore) { } if (connection != null) connection.disconnect(); } } }