komunikacja serwlet-serwlet w tym samym serwlecie

0

Czy serwlet może wywołać sam siebie? Bo próbuje zmieniać treść strony zależnie od języka wybranego przez usera, ale nie działa... Może ktoś pomoże?

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Serwlet
 */
public class Lab62 extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private PrintWriter out;
  
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Lab62()  {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		  
        response.setContentType("text/html; charset=UTF-8");
        response.setHeader("Pragma","no-cache");
        response.setHeader("Cache-Control","no-cache");
        out = response.getWriter();
        
        int width = 400;
        int height = 400;
        String language = request.getParameter("language");
        String[] polski = {"Gra w pana", "Applet do gry w pana"};
        String[] angielski = {"Game in Pan", "Applet for game in Pan"};
        String[] tablica = new String[2];
        if (language!=null){
        if (language.equalsIgnoreCase("pl")){
        	tablica=polski;
        }
        else if (language.equalsIgnoreCase("en")){
        	tablica=angielski;
        }
        }
        else {
        	tablica[0]="tytul okna";
        	tablica[1]="tytul gry";
        }

        out.println("<html>\n <head>");
        out.println("<title>"+tablica[0]+"</title>");
        out.println("</head>");
		
        out.println("<body bgcolor=\"white\" topmargin=\"10\">");
		out.println("<b>"+tablica[1]+"</b>");
		out.println("<hr />");
		out.println("zmien jezyk");
		out.println("<form method=\"POST\" action=\"Lab62.htm\"");
		out.println("<select name=\"language\" >");
		out.println("<option value=\"pl\" selected>polski</option>");
		out.println("<option value=\"en\">english</option>");
		out.println("</select></td>");
		out.println("<button type=\"submit\">wyslij</button>");
		out.println("</form>");

        out.println("<APPLET NAME=\"User\" CODE=\"User\" WIDTH=\""+width+"\" HEIGHT=\""+height+"\">");
        out.println("<param name=language value=\"" + language + "\">");
        out.println(); 
        out.println("<p>Twoja przegladarka nie obsluguje apletow</p>");
        out.println("<p><a href=\"j2re-1_4_1_02-windows-i586-i.exe\">Pobierz Java Runtime Engine 1.4.1.02</a></p>");
        out.println("</applet>");
        out.println("<hr />");
        out.println("</body>");
        out.println("</html>");

		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}

0

String language = request.getParameter("language");
String[] polski = {"Gra w pana", "Applet do gry w pana"};
String[] angielski = {"Game in Pan", "Applet for game in Pan"};
String[] tablica = new String[2];
if (language!=null){
if (language.equalsIgnoreCase("pl")){
tablica=polski;
}
else if (language.equalsIgnoreCase("en")){
tablica=angielski;
}
}
else {
tablica[0]="tytul okna";
tablica[1]="tytul gry";
}

Do tego służą ResourceBundle
http://java.sun.com/docs/books/tutorial/i18n/intro/after.html

out.println("<form method="POST" action="Lab62.htm"");

Jesteś pewny, że to "htm" jest potrzebne?

out.println("

<a href="j2re-1_4_1_02-windows-i586-i.exe">Pobierz Java Runtime Engine 1.4.1.02</a>

");</p>

Proponuję instalację wersji 1.3 albo jeszcze lepiej 1.2. Podaj po prostu link do strony suna.</quote>

1 użytkowników online, w tym zalogowanych: 0, gości: 1