Ola pessoal
Bom, to começando com web e resolvi fazer um sistema de login, algo bem simples pra começar.
A idéia é ler/gravar do disco um arraylist sempre que for fazer um login ou registrar alguem.
Mas o que era pra ser simples se tornou bem confuso e espero que alguem possa me dar uma luz, para assim poder seguir meus estudos.
O problema aparentemente é que o método “ArrayList getListaUser()” retorna null (não entendo o pq), o que posso fazer para arrumar este problema?
Gostaria de saber tbm o que acontece com a variavel “ArrayList listaUser = null;” da primeira pagina a baixo, existe uma instancia com uma variável pra cada jsp que der um “include” nesta pagina?
Obrigado desde ja! ;D
fuser.jsp
[code]<%@page import=“java.io.*”%>
<%@page import=“java.util.ArrayList”%>
<%!class User implements Serializable {
private String user;
private String pass;
private String ip;
private String sid;
public String getUser() {
return user;
}
public String getPass() {
return pass;
}
public String getIp() {
return ip;
}
public String getSid() {
return sid;
}
public void setUser(String u) {
user = u;
}
public void setPass(String p) {
pass = p;
}
public void setIp(String i) {
ip = i;
}
public void setSid(String s) {
sid = s;
}
public User(String u, String p) {
user = u;
pass = p;
ip = null;
sid = null;
}
}
ArrayList<User> getListaUser() {
ArrayList<User> listaUser = new ArrayList<User>();
try {
FileInputStream fis = new FileInputStream("pass");
ObjectInputStream ois = new ObjectInputStream(fis);
listaUser = (ArrayList) ois.readObject();
ois.close();
} catch (FileNotFoundException e) {
System.out.println("Erro: " + e);
} catch (IOException e) {
System.out.println("Erro: " + e);
} catch (ClassNotFoundException e) {
System.out.println("Erro: " + e);
}
return listaUser;
}
void salvaListaUser(ArrayList<User> lista) {
try {
FileOutputStream fos = new FileOutputStream("pass");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(lista);
oos.close();
} catch (IOException e) {
System.out.println(e);
}
}
boolean login(String user, String pass) {
boolean res = false;
User u = new User(user, pass);
res = getListaUser().contains(u);
return res;
}
boolean loged(String sid, String ip) {
boolean res = false;
ArrayList<User> list = getListaUser();
int t = list.size();
for (int i = 0; i < t; i++) {
if (list.get(i).getSid() == sid) {
if (list.get(i).getIp() == ip) {
res = true;
}
}
}
return res;
}
void registro(String user, String pass) {
User u = new User(user, pass);
ArrayList<User> lista = getListaUser();
lista.add(u);
salvaListaUser(lista);
}
void imprimeTudo() {
User aux = null;
ArrayList<User> auxLista = getListaUser();
if (auxLista == null )
System.out.println("erro, n encontrou auxLista");
else {
int s = auxLista.size();
for (int i = 0; i < s; i++) {
aux = auxLista.get(i);
if ( aux != null ) {
System.out.println(aux.getUser());
System.out.println(" ");
System.out.println(aux.getPass());
System.out.println("<br>");
}
}
}
}%>
[/code]
form1.jsp
[code]Cadastro
Usuario:
Senha: [/code]
formCad.jsp
[code]<%@ include file=“fuser.jsp” %>
<%
String u = null;
String p = null;
u = request.getParameter(“user”);
p = request.getParameter(“pass”);
if ( u != null ) {
if ( p != null ) {
registro(u,p);
out.println("Registrado… " + u + " " + p);
}
}
else {
out.println(“nao registrado”);
}
%>
[/code]
formTudo.jsp
<%
imprimeTudo();
%>