1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
<html>
<head>
<title>Webmail</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
</head>
<body>
<%//les imports%>
<%@ page import="java.net.UnknownHostException"%>
<%@ page import="java.net.Socket"%>
<%@ page import="java.io.IOException"%>
<%@ page import="java.io.PrintStream"%>
<%@ page import="java.io.DataInputStream"%>
<%@ page import="java.util.regex.*"%>
<%@ page import="java.util.Vector"%>
<%
//Les données du formulaire sont stockées dans une sorte de bean qui sera accessible avec la variable data
%>
<jsp:useBean id="data" class="imap.ImapBean" scope="session"/>
<jsp:setProperty name="data" property="*"/>
<%
if(data.getUsername()==null)
{
//
// On récupère d'abord le login et le mot de passe de l'utilisateur à
// l'aide d'un formulaire HTML
//
%>
<FORM METHOD="post">
<table>
<tr>
<td>What's your username? <INPUT TYPE="text" NAME="username" SIZE="20"></td>
<td>What's your password? <INPUT TYPE="password" NAME="password" SIZE="20"></td>
<!--bien noter le = sur le tag d'ouverture du code java-->
<td>What's your server URL? <INPUT TYPE="text" NAME="url" SIZE="20" value="<%= data.getUrl()%>"></td>
</tr>
<tr>
<td><INPUT TYPE="submit" value="Let's go !"></td>
</tr>
</table>
</form>
<%
}
else if(request.getParameter("dossier")==null)
{
//
// On récupère ensuite la liste des dossiers
//
// System.out.println va directement dans le fichier logs/catalina.out
System.out.println("Connecting to "+data.getUrl()+" with "+data.getUsername()+"/"+data.getPassword()+"<br>");
Socket s = new Socket(data.getUrl(), 143);
PrintStream sortie = new PrintStream(s.getOutputStream());
DataInputStream entree = new DataInputStream(s.getInputStream());
String received = entree.readLine();
System.out.println(received);
//est ce que le serveur a bien répondu ?
if(Pattern.matches("^. OK .* server ready$", received))
{
// out.println va dans le navigateur
out.println("On est bien connecté maintenant on peut envoyer nos identifiants et récupérer la liste des dossiers");
// TODO envoyer les identifiants et mots de passe
// on va dire pour l'instant que l'on a 5 dossiers d1 à d5
for(int i=0;i<5;i++) {
%>
<form method="post">
<div><INPUT TYPE="submit" value="<%="d"+i%>"></td>
<INPUT type="hidden" name="dossier" value="<%="d"+i%>"></td></div>
</form>
<%
}
sortie.println("A0006 LOGOUT");
received = entree.readLine();
System.out.println(received);
received = entree.readLine();
System.out.println(received);
if(Pattern.matches("^A0006 OK.*$", received))
{
s.close();
}
else
{
out.println("Problem when disconnecting from the server");
}
}
else
{
out.println("Problem when connecting to the server");
}
}
else
{
//
// request.getParameter("dossier") contient un nom de dossier à ouvrir
//
out.println("<div>clic sur le dossier "+request.getParameter("dossier")+"</div>");
//TODO faire afficher les en-têtes des messages
out.println("Faire afficher le contenu des messages...");
}
%>
</body>
</html> |