Sætte servlet querystring parameter
Jeg har en servlet, som henter en række oplysninger fra en db ind i en Vector.For hver post i db'en skal der laves et link. Når man kliker på linket skal der sættes en querystring parameter, som jeg kan kalde fra en anden funktion.
Den skal tage en ip og sætte som querystring, som jeg så skal kunne requeste fra min runGame() funktion.
Min servlet ser sådan her ud:
import java.io.*;
import java.util.Vector;
import javax.servlet.*;
import javax.servlet.http.*;
public class index extends HttpServlet {
DatabaseConnect db = new DatabaseConnect();
Vector dbServer = db.exeServerInfoQuery("select s.id_server, s.ip from server s, "+
"user_server us, "+
"user u where u.id_user = us.id_user "+
"and us.id_server = s.id_server and u.id_user = 1");
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
int[] servers = (int[])session.getAttribute("servers");
if (servers == null) {
servers = new int[dbServer.size()];
session.setAttribute("servers", servers);
}
out.println("<html><head><title>Roo's Remote HL manager</title></head><body>");
doForm(out, request.getRequestURI());
if (request.getParameter("join") != null)
runGame(request,servers);
out.close();
}
protected void runGame(HttpServletRequest request, int[] servers) {
try {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("D:\\Games\\Half-Life\\hl.exe " + "-console -game cstrike +connect " + request.getParameter("servers"));
}
catch(IOException ioe) {
System.err.println(ioe);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
void doForm(PrintWriter out, String requestURI) {
out.println("<form name=joinform action=" + requestURI + " method=get>" +
"<input name=join type=hidden value=join>");
for (int i = 0 ; i < dbServer.size() ; i++) {
out.println("<a href=java script:document.joinform.submit(); document.joinform.join.value=join>" +
dbServer.elementAt(i) + "</a><br>");
}
out.println("</form>");
}
}
