# Servlet in Webseite einbinden



## Upriser (20. Okt 2010)

Hallo zusammen

Ich muss für eine bestehende Webseite folgendes einbauen. Die Webseite ist ein Shop, bei welchem man über e-payment bezahlen kann. Wenn man das E-Payment durchgeführt hat, werden einige Daten (Bestellnummer, Status, Verschlüsselung, etc.) per get zurückgeliefert. Diese Daten werden von einem von mir geschriebenen Servlet ausgewehrtet. Das Servlet zeigt dann an, ob die Transaktion erfolgreich war oder ob es Fehler gab. Diese Ausgabe sollte aber nun wieder in der bisherigen Webseite angezeigt werden. Und hier stehe ich nun an. Die Webseite verwendet Struts 1.0 und JSP. Wie kann ich die Ausgabe des Servlets in die bisherige Seite implementieren?

Webseite (Kein Kommentar zur Webseite )


```
package ch.sardusvini.webshop.postfinance;

public class PostFinanceFeedbackServlet extends HttpServlet {

	public PostFinanceFeedbackServlet() {
		super();
	}

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html");

		PrintWriter out = response.getWriter();

		MessageGenerator msgGenerator = new MessageGenerator();


			if (validate(request.getSession(), request)) {

				out.println("<html><head><link rel='stylesheet' href='styles/default.css' type='text/css'/></head>");
				out.println("<body class='defaultBody'><div class='statusDiv'>");
			out.println(msgGenerator.interpretStatus(Integer.valueOf(request
					.getParameter("STATUS"))));
				out.println("<p><a href='http://Webseite/sardusvini/HomeAction.do'>Zurück zur Startseite</a></p></div>");
				out.println("</body></html>");
			}
			// Construct the html document

	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

	}

	private boolean validate(HttpSession session, HttpServletRequest request){

		Validator validator = new Validator();

		try {
			validator.validatePFResponse(session, request.getParameterMap());
		} catch (Throwable e) {
			e.printStackTrace();
		}

		System.out.println(session.getAttribute("orderID"));
		return true;
	}

}
```


Fragt wenn etwas unklar ist.

Danke


----------



## A0027301 (20. Okt 2010)

Überhaupt nicht, da bereits offenbar durch den Client ein Request ausgelöst wurde, musst du diesem eine neue Seite senden. Die alte Seite kann nicht mehr erneuert werden.

Vermutlich suchst du eine Ajax-Lösung, bei der deine ursprüngliche Seite einen Ajaxrequest an dein Servlet senden. Dann kann deine ursprüngliche Seite erneuert werden.

Recht einfach geht das per Javascript und der Bibliothe jQuery. Der Request wird an dein Servlet geschickt, das sendet was zurück. und das "was" wird wieder per jQuery in die Seite eingefügt


----------

