Pessoal, estou refazendo uma video aula que peguei no site da DevMedia, que fala sobre uma aplicação para avaliação de professores.
O problema é que quando mando executar o aplicativo, as turmas que são importadas do banco de dados, elas veem, mas quando mando executar novameente, vem repitido nunca que apaga a ultima sessão ou login que faço no sistema.
Envio o codigo. Bom, vou enviar todos.
CODIGO DA APLICAÇÃO J2ME
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package application;
import br.com.devmedia.HttpConnectionClient;
import java.util.Calendar;
import java.util.Vector;
import javax.microedition.midlet.;
import javax.microedition.lcdui.;
import net.sourceforge.floggy.FloggyException;
import net.sourceforge.floggy.ObjectSet;
import net.sourceforge.floggy.PersistableManager;
import org.netbeans.microedition.lcdui.LoginScreen;
import rms.ClassName;
import rms.FindUser;
import rms.Teacher;
import rms.User;
/**
-
@author ROGERIO
*/
public class EvaluateTeacher extends MIDlet implements CommandListener { //ItemStateListenerprivate boolean midletPaused = false;
PersistableManager pm = PersistableManager.getInstance();
//<editor-fold defaultstate=“collapsed” desc=" Generated Fields ">
private java.util.Hashtable __previousDisplayables = new java.util.Hashtable();
private LoginScreen loginScreen;
private Form fmInsertUser;
private TextField tfFirstName;
private DateField dfBirthday;
private TextField tfLastName;
private TextField tfPassword;
private TextField tfUsername;
private TextField tfRePassword;
private List lsMain;
private Form fmEvaluate;
private ChoiceGroup cgEvaluate;
private ChoiceGroup cgTeacher;
private ChoiceGroup cgClass;
private Alert alStatus;
private Form fmResult;
private Command cmInserUser;
private Command cmBackInsertUser;
private Command cmConfirmInsertUser;
private Command cmConfirmEvaluanteTeacher;
private Command cmBackEvaluateTeacher;
private Command cmBackResult;
//</editor-fold>
/**- The EvaluateTeacher constructor.
*/
public EvaluateTeacher() {
}
private boolean isValidUser() {
try {FindUser findUser = new FindUser(getLoginScreen().getUsername(), getLoginScreen().getPassword()); ObjectSet os = pm.find(User.class, findUser, null); if (os.hasNext()) { return true; } else { return false; } } catch (FloggyException ex) { return false; }
}
private void mountChoices() {
try {ObjectSet os = pm.findAll(ClassName.class); cgClass.deleteAll(); if ( os.hasNext() ) { os.last();
- The EvaluateTeacher constructor.
// do {
// ClassName className = (ClassName) os.previous();
//
// cgClass.append( className.getClassName(), null );
//
// } while ( os.hasPrevious() );
while ( os.hasPrevious() ) {
ClassName className = (ClassName) os.previous();
cgClass.append( className.getClassName(), null );
}
cgClass.setSelectedIndex( 0, true );
}
} catch (FloggyException ex) {
ex.printStackTrace();
}
}
//<editor-fold defaultstate="collapsed" desc=" Generated Methods ">
/**
* Switches a display to previous displayable of the current displayable.
* The <code>display</code> instance is obtain from the <code>getDisplay</code> method.
*/
private void switchToPreviousDisplayable() {
Displayable __currentDisplayable = getDisplay().getCurrent();
if (__currentDisplayable != null) {
Displayable __nextDisplayable = (Displayable) __previousDisplayables.get(__currentDisplayable);
if (__nextDisplayable != null) {
switchDisplayable(null, __nextDisplayable);
}
}
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: initialize ">
/**
* Initilizes the application.
* It is called only once when the MIDlet is started. The method is called before the <code>startMIDlet</code> method.
*/
private void initialize() {
// write pre-initialize user code here
// write post-initialize user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: startMIDlet ">
/**
* Performs an action assigned to the Mobile Device - MIDlet Started point.
*/
public void startMIDlet() {
// write pre-action user code here
switchDisplayable(null, getLoginScreen());
// write post-action user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: resumeMIDlet ">
/**
* Performs an action assigned to the Mobile Device - MIDlet Resumed point.
*/
public void resumeMIDlet() {
// write pre-action user code here
// write post-action user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: switchDisplayable ">
/**
* Switches a current displayable in a display. The <code>display</code> instance is taken from <code>getDisplay</code> method. This method is used by all actions in the design for switching displayable.
* @param alert the Alert which is temporarily set to the display; if <code>null</code>, then <code>nextDisplayable</code> is set immediately
* @param nextDisplayable the Displayable to be set
*/
public void switchDisplayable(Alert alert, Displayable nextDisplayable) {
// write pre-switch user code here
Display display = getDisplay();
Displayable __currentDisplayable = display.getCurrent();
if (__currentDisplayable != null && nextDisplayable != null) {
__previousDisplayables.put(nextDisplayable, __currentDisplayable);
}
if (alert == null) {
display.setCurrent(nextDisplayable);
} else {
display.setCurrent(alert, nextDisplayable);
}
// write post-switch user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: commandAction for Displayables ">
/**
* Called by a system to indicated that a command has been invoked on a particular displayable.
* @param command the Command that was invoked
* @param displayable the Displayable where the command was invoked
*/
public void commandAction(Command command, Displayable displayable) {
// write pre-action user code here
if (displayable == fmEvaluate) {
if (command == cmBackEvaluateTeacher) {
// write pre-action user code here
switchDisplayable(null, getLsMain());
// write post-action user code here
} else if (command == cmConfirmEvaluanteTeacher) {
// write pre-action user code here
evaluateTeacher();
// write post-action user code here
}
} else if (displayable == fmInsertUser) {
if (command == cmBackInsertUser) {
// write pre-action user code here
switchDisplayable(null, getLoginScreen());
// write post-action user code here
} else if (command == cmConfirmInsertUser) {
// write pre-action user code here
insertUser();
// write post-action user code here
}
} else if (displayable == fmResult) {
if (command == cmBackResult) {
// write pre-action user code here
switchToPreviousDisplayable();
// write post-action user code here
}
} else if (displayable == loginScreen) {
if (command == LoginScreen.LOGIN_COMMAND) {
// write pre-action user code here
validUser();
// write post-action user code here
} else if (command == cmInserUser) {
// write pre-action user code here
switchDisplayable(null, getFmInsertUser());
// write post-action user code here
}
} else if (displayable == lsMain) {
if (command == List.SELECT_COMMAND) {
// write pre-action user code here
lsMainAction();
// write post-action user code here
}
}
// write post-action user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: loginScreen ">
/**
* Returns an initiliazed instance of loginScreen component.
* @return the initialized component instance
*/
public LoginScreen getLoginScreen() {
if (loginScreen == null) {
// write pre-init user code here
loginScreen = new LoginScreen(getDisplay());
loginScreen.setLabelTexts("Nome do usu\u00E1rio", "Senha");
loginScreen.setTitle("loginScreen");
loginScreen.addCommand(LoginScreen.LOGIN_COMMAND);
loginScreen.addCommand(getCmInserUser());
loginScreen.setCommandListener(this);
loginScreen.setBGColor(-205);
loginScreen.setFGColor(-16711885);
loginScreen.setUseLoginButton(false);
loginScreen.setLoginButtonText("Login");
// write post-init user code here
}
return loginScreen;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: fmInsertUser ">
/**
* Returns an initiliazed instance of fmInsertUser component.
* @return the initialized component instance
*/
public Form getFmInsertUser() {
if (fmInsertUser == null) {
// write pre-init user code here
fmInsertUser = new Form("Insert User", new Item[] { getTfFirstName(), getTfLastName(), getDfBirthday(), getTfUsername(), getTfPassword(), getTfRePassword() });
fmInsertUser.addCommand(getCmBackInsertUser());
fmInsertUser.addCommand(getCmConfirmInsertUser());
fmInsertUser.setCommandListener(this);
// write post-init user code here
}
return fmInsertUser;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: tfFirstName ">
/**
* Returns an initiliazed instance of tfFirstName component.
* @return the initialized component instance
*/
public TextField getTfFirstName() {
if (tfFirstName == null) {
// write pre-init user code here
tfFirstName = new TextField("First Name", null, 32, TextField.ANY);
// write post-init user code here
}
return tfFirstName;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: tfLastName ">
/**
* Returns an initiliazed instance of tfLastName component.
* @return the initialized component instance
*/
public TextField getTfLastName() {
if (tfLastName == null) {
// write pre-init user code here
tfLastName = new TextField("Last Name", null, 32, TextField.ANY);
// write post-init user code here
}
return tfLastName;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: dfBirthday ">
/**
* Returns an initiliazed instance of dfBirthday component.
* @return the initialized component instance
*/
public DateField getDfBirthday() {
if (dfBirthday == null) {
// write pre-init user code here
dfBirthday = new DateField("Birthday", DateField.DATE);
dfBirthday.setDate(new java.util.Date(System.currentTimeMillis()));
// write post-init user code here
}
return dfBirthday;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: tfUsername ">
/**
* Returns an initiliazed instance of tfUsername component.
* @return the initialized component instance
*/
public TextField getTfUsername() {
if (tfUsername == null) {
// write pre-init user code here
tfUsername = new TextField("Username", null, 32, TextField.ANY);
// write post-init user code here
}
return tfUsername;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: tfPassword ">
/**
* Returns an initiliazed instance of tfPassword component.
* @return the initialized component instance
*/
public TextField getTfPassword() {
if (tfPassword == null) {
// write pre-init user code here
tfPassword = new TextField("Password", null, 32, TextField.ANY);
// write post-init user code here
}
return tfPassword;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: tfRePassword ">
/**
* Returns an initiliazed instance of tfRePassword component.
* @return the initialized component instance
*/
public TextField getTfRePassword() {
if (tfRePassword == null) {
// write pre-init user code here
tfRePassword = new TextField("Restype Password", null, 32, TextField.ANY);
// write post-init user code here
}
return tfRePassword;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cmInserUser ">
/**
* Returns an initiliazed instance of cmInserUser component.
* @return the initialized component instance
*/
public Command getCmInserUser() {
if (cmInserUser == null) {
// write pre-init user code here
cmInserUser = new Command("Insert User", Command.SCREEN, 0);
// write post-init user code here
}
return cmInserUser;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cmBackInsertUser ">
/**
* Returns an initiliazed instance of cmBackInsertUser component.
* @return the initialized component instance
*/
public Command getCmBackInsertUser() {
if (cmBackInsertUser == null) {
// write pre-init user code here
cmBackInsertUser = new Command("Back", Command.BACK, 0);
// write post-init user code here
}
return cmBackInsertUser;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cmConfirmInsertUser ">
/**
* Returns an initiliazed instance of cmConfirmInsertUser component.
* @return the initialized component instance
*/
public Command getCmConfirmInsertUser() {
if (cmConfirmInsertUser == null) {
// write pre-init user code here
cmConfirmInsertUser = new Command("Confirm", Command.SCREEN, 0);
// write post-init user code here
}
return cmConfirmInsertUser;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: insertUser ">
/**
* Performs an action assigned to the insertUser entry-point.
*/
public void insertUser() {
// write pre-action user code here
if (tfPassword.getString().equals(tfRePassword.getString())) {
new ValidUserThread().start();
} else {
//getAlStatus().setString("Error: Password and retype password is diferent");
getAlStatus().setString("Erro: Senha e repetição de senha é diferente.");
switchDisplayable(alStatus, fmInsertUser);
}
// write post-action user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: validUser ">
/**
* Performs an action assigned to the validUser if-point.
*/
public void validUser() {
// enter pre-if user code here
if (isValidUser()) {
// write pre-action user code here
switchDisplayable(null, getLsMain());
// write post-action user code here
} else {
// write pre-action user code here
switchDisplayable(null, getLoginScreen());
// write post-action user code here
}
// enter post-if user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: evaluateTeacher ">
/**
* Performs an action assigned to the evaluateTeacher entry-point.
*/
public void evaluateTeacher() {
// write post-action user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: mountChart ">
/**
* Performs an action assigned to the mountChart entry-point.
*/
public void mountChart() {
// write pre-action user code here
switchDisplayable(null, getFmResult());
// write post-action user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: lsMain ">
/**
* Returns an initiliazed instance of lsMain component.
* @return the initialized component instance
*/
public List getLsMain() {
if (lsMain == null) {
// write pre-init user code here
lsMain = new List("List Options", Choice.IMPLICIT);
lsMain.append("Import", null);
lsMain.append("Evaluate Teacher", null);
lsMain.append("Export", null);
lsMain.append("Result", null);
lsMain.append("Exit", null);
lsMain.setCommandListener(this);
lsMain.setSelectedFlags(new boolean[] { false, false, false, false, false });
// write post-init user code here
}
return lsMain;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: lsMainAction ">
/**
* Performs an action assigned to the selected list element in the lsMain component.
*/
public void lsMainAction() {
// enter pre-action user code here
String __selectedString = getLsMain().getString(getLsMain().getSelectedIndex());
if (__selectedString != null) {
if (__selectedString.equals("Import")) {
// write pre-action user code here
new ImportDataThread().start();
// write post-action user code here
} else if (__selectedString.equals("Evaluate Teacher")) {
// write pre-action user code here
switchDisplayable(null, getFmEvaluate());
mountChoices();
} else if (__selectedString.equals("Export")) {
// write pre-action user code here
//new ExportDataThread().start();
// write post-action user code here
} else if (__selectedString.equals("Result")) {
// write pre-action user code here
mountChart();
// write post-action user code here
} else if (__selectedString.equals("Exit")) {
// write pre-action user code here
exitMIDlet();
// write post-action user code here
}
}
// enter post-action user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: fmEvaluate ">
/**
* Returns an initiliazed instance of fmEvaluate component.
* @return the initialized component instance
*/
public Form getFmEvaluate() {
if (fmEvaluate == null) {
// write pre-init user code here
fmEvaluate = new Form("Evaluate Teacher", new Item[] { getCgClass(), getCgTeacher(), getCgEvaluate() });
fmEvaluate.addCommand(getCmBackEvaluateTeacher());
fmEvaluate.addCommand(getCmConfirmEvaluanteTeacher());
fmEvaluate.setCommandListener(this);
// write post-init user code here
// fmEvaluate.setItemStateListener(this);// olha depois.
}
return fmEvaluate;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cgClass ">
/**
* Returns an initiliazed instance of cgClass component.
* @return the initialized component instance
*/
public ChoiceGroup getCgClass() {
if (cgClass == null) {
// write pre-init user code here
cgClass = new ChoiceGroup("Class", Choice.EXCLUSIVE);
// write post-init user code here
}
return cgClass;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cgTeacher ">
/**
* Returns an initiliazed instance of cgTeacher component.
* @return the initialized component instance
*/
public ChoiceGroup getCgTeacher() {
if (cgTeacher == null) {
// write pre-init user code here
cgTeacher = new ChoiceGroup("Teacher", Choice.EXCLUSIVE);
// write post-init user code here
}
return cgTeacher;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cgEvaluate ">
/**
* Returns an initiliazed instance of cgEvaluate component.
* @return the initialized component instance
*/
public ChoiceGroup getCgEvaluate() {
if (cgEvaluate == null) {
// write pre-init user code here
cgEvaluate = new ChoiceGroup("Evaluate", Choice.EXCLUSIVE);
cgEvaluate.append("Very Good", null);
cgEvaluate.append("Good", null);
cgEvaluate.append("Regular", null);
cgEvaluate.append("Poor", null);
cgEvaluate.append("Very Poor", null);
cgEvaluate.setSelectedFlags(new boolean[] { false, false, false, false, false });
cgEvaluate.setFont(0, null);
cgEvaluate.setFont(1, null);
cgEvaluate.setFont(2, null);
cgEvaluate.setFont(3, null);
cgEvaluate.setFont(4, null);
// write post-init user code here
}
return cgEvaluate;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: fmResult ">
/**
* Returns an initiliazed instance of fmResult component.
* @return the initialized component instance
*/
public Form getFmResult() {
if (fmResult == null) {
// write pre-init user code here
fmResult = new Form("Result");
fmResult.addCommand(getCmBackResult());
fmResult.setCommandListener(this);
// write post-init user code here
}
return fmResult;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: alStatus ">
/**
* Returns an initiliazed instance of alStatus component.
* @return the initialized component instance
*/
public Alert getAlStatus() {
if (alStatus == null) {
// write pre-init user code here
alStatus = new Alert("alert");
alStatus.setTimeout(Alert.FOREVER);
// write post-init user code here
}
return alStatus;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cmBackEvaluateTeacher ">
/**
* Returns an initiliazed instance of cmBackEvaluateTeacher component.
* @return the initialized component instance
*/
public Command getCmBackEvaluateTeacher() {
if (cmBackEvaluateTeacher == null) {
// write pre-init user code here
cmBackEvaluateTeacher = new Command("Back", Command.BACK, 0);
// write post-init user code here
}
return cmBackEvaluateTeacher;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cmConfirmEvaluanteTeacher ">
/**
* Returns an initiliazed instance of cmConfirmEvaluanteTeacher component.
* @return the initialized component instance
*/
public Command getCmConfirmEvaluanteTeacher() {
if (cmConfirmEvaluanteTeacher == null) {
// write pre-init user code here
cmConfirmEvaluanteTeacher = new Command("Confirm", Command.SCREEN, 0);
// write post-init user code here
}
return cmConfirmEvaluanteTeacher;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Getter: cmBackResult ">
/**
* Returns an initiliazed instance of cmBackResult component.
* @return the initialized component instance
*/
public Command getCmBackResult() {
if (cmBackResult == null) {
// write pre-init user code here
cmBackResult = new Command("Back", Command.BACK, 0);
// write post-init user code here
}
return cmBackResult;
}
//</editor-fold>
/**
* Returns a display instance.
* @return the display instance.
*/
public Display getDisplay() {
return Display.getDisplay(this);
}
/**
* Exits MIDlet.
*/
public void exitMIDlet() {
switchDisplayable(null, null);
destroyApp(true);
notifyDestroyed();
}
/**
* Called when MIDlet is started.
* Checks whether the MIDlet have been already started and initialize/starts or resumes the MIDlet.
*/
public void startApp() {
if (midletPaused) {
resumeMIDlet();
} else {
initialize();
startMIDlet();
}
midletPaused = false;
}
/**
* Called when MIDlet is paused.
*/
public void pauseApp() {
midletPaused = true;
}
/**
* Called to signal the MIDlet to terminate.
* @param unconditional if true, then the MIDlet has to be unconditionally terminated and all resources has to be released.
*/
public void destroyApp(boolean unconditional) {
}
class ValidUserThread extends Thread {
public void run() {
Vector data = new Vector();
String fields[] = new String[5];
fields[0] = getTfFirstName().getString();
fields[1] = getTfLastName().getString();
Calendar cal = Calendar.getInstance();
cal.setTime(getDfBirthday().getDate());
fields[2] = String.valueOf(cal.get(Calendar.DATE));
fields[3] = String.valueOf(cal.get(Calendar.MONTH) + 1);
fields[4] = String.valueOf(cal.get(Calendar.YEAR));
data.addElement(fields);
HttpConnectionClient client = new HttpConnectionClient("http://127.0.0.1:8084/EvaluateTeacher-Server/EvaluateTeacherServlet", "POST");
client.add("validUser", data);
Vector ret = client.enviarReceberDados();
Vector information = (Vector) ret.elementAt(0);
String option = (String) information.elementAt(0);
if (option.equals("validUser")) {
fields = (String[]) information.elementAt(1);
if (fields[0].equals("Error")) {
getAlStatus().setString("Server: " + fields[1]);
switchDisplayable(alStatus, fmInsertUser);
} else {
try {
User user = new User();
user.setUserName(getTfUsername().getString());
user.setPassword(getTfPassword().getString());
pm.save(user);
getLoginScreen().setUsername(getTfUsername().getString());
getLoginScreen().setPassword(getTfPassword().getString());
getAlStatus().setString("Success");
switchDisplayable(alStatus, getLoginScreen());
} catch (FloggyException ex) {
getAlStatus().setString("Error: " + ex.getMessage());
switchDisplayable(alStatus, fmInsertUser);
}
}
}
}
}
class ImportDataThread extends Thread {
public void run() {
//INICIO COPIAR E COLAR
HttpConnectionClient client = new HttpConnectionClient("http://127.0.0.1:8084/EvaluateTeacher-Server/EvaluateTeacherServlet", "POST");
client.add("importClass", null);
client.add("importTeacher", null);
Vector ret = client.enviarReceberDados();
for ( int i = 0; i < ret.size(); i++ ) {
Vector information = (Vector) ret.elementAt(i);
String fieldsError[] = (String[]) information.elementAt( 1 );
if ( fieldsError[0].equals( "Error" ) ) {
getAlStatus().setString( "Server: " + fieldsError[1] );
switchDisplayable(alStatus, lsMain );
break;
}
String option = (String) information.elementAt(0);
if (option.equals("importClass") ) {
for ( int j = 1; j < information.size(); j++ ) {
try {
String[] fields = (String[]) information.elementAt( j );
ClassName className = new ClassName();
className.setClassName(fields[0]);
pm.save(className);
} catch (FloggyException ex) {
getAlStatus().setString( "Error: " + ex.getMessage() );
switchDisplayable(alStatus, lsMain );
}
}
} else if ( option.equals( "importTeacher" ) ) {
for ( int j = 1; j < information.size(); j++ ) {
try {
String[] fields = (String[]) information.elementAt( j );
Teacher teacher = new Teacher();
teacher.setClassName(fields[0]);
teacher.setTeacherName(fields[1]);
pm.save(teacher);
} catch (FloggyException ex) {
getAlStatus().setString( "Error: " + ex.getMessage() );
switchDisplayable(alStatus, lsMain );
}
}
}
}
getAlStatus().setString("Success");
switchDisplayable(alStatus, lsMain);
//FIM COPIAR E COLAR
}
}
}
CODIGO DO SERVIDOR
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
//import java.io.;
//import java.net.;
//import java.util.logging.Level;
//import java.util.logging.Logger;
//import javax.servlet.;
//import javax.servlet.http.;
import java.sql.SQLException;
import java.util.Vector;
import br.com.devmedia.HttpConnectionServer;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
/**
*
-
@author ROGERIO
*/
public class EvaluateTeacherServlet extends HttpConnectionServer {Connection con;
@Override
public void init() {
try {Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/wm"; String user = "root"; String pass = "admin"; con = DriverManager.getConnection(url, user, pass); } catch (Exception ex) { System.out.println(ex.getMessage()); }
}
public Vector tratarRequisicao(Vector data, String option) {
Vector ret = new Vector(); if (option.equals("validUser")) { ret = validUser(data); } else if ( option.equals("importClass")) { ret = importClass(); } else if ( option.equals("importTeacher" ) ) { ret = importTeacher(); } return ret;
}
private Vector importClass() {
Vector ret = new Vector(); try { Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery( "select * from class" ); while ( rs.next() ) { String className = rs.getString( "class_name" ); String fields[] = new String[1]; fields[0] = className; ret.add( fields ); } } catch (SQLException ex) { ret = new Vector(); String fields[] = new String[2]; fields[0] = "Error"; fields[1] = ex.getMessage(); ret.add( fields ); } return ret;
}
private Vector importTeacher() {
Vector ret = new Vector();try { Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery( "select * from teacher" ); while ( rs.next() ) { String className = rs.getString( "class_name" ); String teacherName = rs.getString( "teacher_name" ); String fields[] = new String[2]; fields[0] = className; fields[1] = teacherName; ret.add( fields ); } } catch (SQLException ex) { ret = new Vector(); String fields[] = new String[2]; fields[0] = "Error"; fields[1] = ex.getMessage(); ret.add( fields ); } ret.trimToSize();//VER O QUE ACONTECE return ret;
}
private Vector validUser(Vector data) {
Vector ret = new Vector(); try { //String fields[] = (String[]) data.elementAt(0); //Comentado por mim. String[] fields = (String[]) data.elementAt(0); PreparedStatement ps = con.prepareStatement("select * from system_users where first_name = ? and last_name = ? and birthday = ?"); ps.setString(1, fields[0]); ps.setString(2, fields[1]); String date = fields[4] + "-" + fields[3] + "-" + fields[2]; ps.setString(3, date); ResultSet rs = ps.executeQuery(); if (rs.next()) { fields = new String[1]; //fields[0] = "Successs"; fields[0] = "Sucesso. Conexão com BD realizado com sucesso."; } else { fields = new String[2]; fields[0] = "Error"; //fields[1] = "User not found"; fields[1] = "Usuário não existente na base da dados."; } ret.add(fields); } catch (SQLException ex) { String fields[] = new String[2]; fields[0] = "Error"; fields[1] = ex.getMessage(); ret.add(fields); } ret.trimToSize(); return ret;
}
}