2015-12-24 3 views
0

login.html
ce fichier contient le code pour 2 buttons.The vous connecter et vous inscrire bouton qui sont 2 formes ..
connected.jsp
ce fichier contient le code pour 1 bouton celui que l'utilisateur peut cliquer sur et se déconnecter.
Controller.jspjsp comprennent ne fonctionne pas

<%@ page contentType="text/html; charset=UTF-8" %> 
<%@ page import="something.*" %> 
<%@ page errorPage="Error.jsp" %> 

<% 

request.setCharacterEncoding("ISO-8859-7"); 
String errorMessages = ""; 
String username = request.getParameter("username"); 
String password = request.getParameter("password"); 
if ((password.length() > 0) && !(username.length() > 0)) { 
    errorMessages = ("message1"); 
    throw new Exception(errorMessages); 
} 
if ((username.length() > 0) && !(password.length() > 0)) { 
    errorMessages = ("message2"); 
    throw new Exception(errorMessages); 
} 
if (!(password.length() > 0) && !(username.length() > 0)) { 
    errorMessages = ("message3"); 
    throw new Exception(errorMessages); 
} 
DB_something db = new DB_something(); 
db.open(); 
if (request.getParameter("FistName") == null) { 
    db.authenticateUser(username, password); 
    session.setAttribute("login_status", "connected"); 

} else { 
    String fName = request.getParameter("FistName"); 
    String lName = request.getParameter("LastName"); 
    String email = request.getParameter("email"); 
    String gender = request.getParameter("sex"); 
    String month = request.getParameter("month"); 
    String day = request.getParameter("day"); 
    String year = request.getParameter("year"); 
    String address = request.getParameter("Adress"); 
    db.registerUser(fName, lName, email, username, password, gender, month, day, year, address); 
    session.setAttribute("login_status", "connected"); 
} 
db.close(); 
%> 
<jsp:forward page="index.jsp" /> 

DB_something est une classe qui ouvrent et ferment la connexion avec la base de données et vérifier si le signe a été correct et inscrivez-vous également à l'utilisateur en cas de signe jusqu'à

index .jsp

<% 
    if (request.getParameter("login_status") == null) { 
    %> 
    <jsp:include page="login.html" /> 
    <% 
    } else { 
     if(1==1) 
      throw new Exception("error..."); 
    %> 
    <jsp:include page="connected.jsp" /> 
    <% 
    } 
    %> . . . . 

dans mon index.jsp j'ai essayé d'inclure le login.html si l'utilisateur n'est pas connecté (login_ status = null) et inclure le connected.jsp si l'utilisateur est connecté (login_status = "connected") le problème est qu'il ne fonctionne pas.Il ajoute toujours le login.html..J'essaie même d'ajouter une exception throw (le si 1 == 1 est parce que sinon l'exception a été levée ..) mais la sortie est toujours la même (l'exception ne fonctionne jamais) Des idées?

+1

Même si vous parvenez finalement à faire cette course, La réponse d'Aleksey est un bon début, c'est un code horrible. Ce n'est pas comme ça que vous devriez utiliser les JSP. Je vous invite à étudier http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files et à suivre les directives données ici. –

Répondre

1

Vous enregistrez l'attribut dans la session, mais essayez de l'extraire de la demande.

au lieu de la directive -

<jsp:forward page="index.jsp" /> 

utiliser ceci:

<jsp:forward page="index.jsp"> 
    <jsp:param name="login_status" value="connected" /> 
</jsp:forward> 

Ou extraire l'attribut de la session:

if(request.getSession().getAttribute("login_status") == null) { 
    ... 
} 
+0

merci beaucoup! –