JaveEE + Tomcat + Server Refresh + Bilder werden nicht angezeigt + Servlet

retrostyle

Grünschnabel
Hi ho...

Ich habe nen großes Problem :) ich komme einfach nicht an die Bilder die gespeichert werden...

Projekt: Ich habe eine Index seite auf der ich eine Suche ausführe im Twitter Stream, als erstes geht das Servlet die komplette Timeline durch parst die Timeline und holt sich dann die Links aus den einzelnen Tweet's, fals welche vorhanden. Jetzt geht das Java Programm in auf die Seite mit FlyingSourcer und html2image und macht von der Seite einen Screenshot! So soweit funktioniert alles super er bekommt die links, tweets, bilder werden gespeichert usw.

Problem: Nachdem er dies alles gemacht hat wird die Seite neu ausgegeben aber leider ohne Bilder erst wenn ich den server (Tomcat) mit F5 refreshe dann erkennt das Servlet die Bilder die kurz vorher gemacht worden sind. Sprich irgendwie kommt die .jsp dann nicht an meine Bilder zur Laufzeit lieg ich da richtig?!

TwitterTracker
|--build
|--src
---|de
------|fhb
---------|twittertracker
-------------|commons
-----------------|web
-------------|controller
-----------------|web
--------------------|actions
-------------|data
-------------|html2image
|--test
|--WebContent
----|css
----|img
-------|pics //Hier speichere ich die Bilder
----|js
----|META-INF
------|....
----|--WEB-INF
------|....

PHP:
public class ImageManager {

	/**
	 * Constant main save path.
	 */
	private static final String URLBegin ="http://localhost:8080/TwitterTracker/img/pics/";
	private static int URLEnde = 0;


	/**
	 * Takes the links out. Try to make images out of html. And put the links 
	 * of the images in the tweets.
	 * @param tweets - TweetVOs from the API
	 */
	public void makeImageOutTweetsURLS(List<TweetVO> tweets) {
		URLEnde = 0;
		for (TweetVO tweet : tweets) {
			List<URL> links = tweet.getLinksInText();
			System.out.println("LINKS:" +links.toString());
			
			List<URL> urls = new ArrayList<URL>();
			tweet.setWebSiteSnapLinks(urls);
			System.out.println("URLS:" + tweet.toString());
	
			
			if (links != null) {
				for (URL link : links) {
					urls.add(makeImage(link));
					System.out.println("URLSadd" + urls.toString());
				}
			}
		}
	}

	/**
	 * 
	 * @param url
	 * @return
	 */
	private URL makeImage(URL url) {
		URL targetURL = null;
		FileOutputStream fos = null;
	
		try {
			targetURL = new URL(URLBegin + url.getHost() + URLEnde + ".jpg");
			
			System.out.println("targetURL: " + targetURL.toString());
				
			  fos = new FileOutputStream("/WebContent/img/pics/" + url.getHost() + URLEnde + ".jpg" ); //Save the .jpg on this path		
			
			HTMLImager.image( url.toString(), fos, 1024, 768 );
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} finally
		{
			try {
				fos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
	    }
		
		URLEnde++;
		return targetURL; //returns the path from the image http://localhost:8080/TwitterTracker/img/pics/xxxx.jpg
	}


}

Wer sich noch ein weiteres Bild machen möchte um mir evtl. zu helfen der gehe auf:

https://github.com/Rhox/TwitterTracker
 
Zurück