前二篇資料(教學)在Ubuntu裡建立Apache with Tomcat 服務-2 (教學)在Ubuntu裡建立Apache with Tomcat 服務-1
讓Apache Server與Tomcat Server做溝通
使Apache支援JSP及測試ImageMagick及JMagick是否可用
1.設定apache使用apj與tomcat做溝通,把所有內容向tomcat送
#sudo vi /etc/apache2/sites-available/default
在<VirtualHost *:80></VirtualHost>tag內增加
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_conn$ LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so ProxyPass / ajp://127.0.0.1:8009/ ProxyPassReverse / ajp://127.0.0.1:8009/
2.重新啟動tomcat及apache
#sudo /etc/init.d/tomcat5 restart #sudo /etc/init.d/apache2 restart
測試http://localhost/是否跟http://localhost:8080/一樣
一樣的話就是成功了!
3.測試jmagick是否可用
#sudo vi /etc/tomcat5/webapps/ROOT/testimage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
<%
String strAbsPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
java.io.File f = new java.io.File(strAbsPath+"/test.jpg");
System.out.println(strAbsPath+"/test.jpg");
if(!f.exists())
{
java.net.URL url = new java.net.URL("http://service.wakema.com.tw/img/huodong/zip/82X117/574-t257_m_image.jpg");
java.net.URLConnection URLConn = (java.net.HttpURLConnection)url.openConnection();
java.io.BufferedInputStream bs = null;
try
{
bs = new java.io.BufferedInputStream(URLConn.getInputStream());
java.awt.image.BufferedImage bimg = javax.imageio.ImageIO.read(bs);
javax.imageio.ImageIO.write(bimg,"jpg",f);
bs.close();
}catch(java.io.IOException e)
{
throw e;
}
finally
{
try
{
if(bs!=null)
{
bs.close();
bs = null;
}
}catch(java.io.IOException ex)
{
}
}
}
if (System.getProperty("jmagick.systemclassloader") == null) {
System.setProperty("jmagick.systemclassloader", "no");
}
magick.ImageInfo info = new magick.ImageInfo(strAbsPath+"/test.jpg");
magick.MagickImage image = new magick.MagickImage(info);
//resize image
magick.MagickImage scaleImg = image.scaleImage(65, 46);
scaleImg.setFileName(strAbsPath+"/test2.jpg");
scaleImg.writeImage(info);
%><img src="test.jpg"><br/>
<img src="test2.jpg">
</body>
</html>
http://localhost/testimage.jsp
如果可以看到一個大圖一個小圖那就是沒問題了