Jump to content

Banreaper

Warianos
  • Posts

    345
  • Joined

  • Last visited

  • Days Won

    2

Banreaper last won the day on October 12 2023

Banreaper had the most liked content!

Información Personal

  • Pais
    Chile
  • Genero
    Hombre
  • Lugar
    System/Library/User Template

Banreaper's Achievements

Newbie

Newbie (1/14)

9

Reputation

  1. Mis clientes tienen alojadas sus páginas en hostingplus.cl y ningún problema :D
  2. xD Saavedra, excelente profe! pero ahora me vine a Santiago por temas laborales y aquí continuo la cosa. Bueno, en relación al menú que me comentas, sé que me falta un método en el servlet PostulanteListController, ya que desde ahí, me tiene que traer los datos de la tabla y cargarlos al drop. No sé si a eso te refieres :S Tengo que presentar el proyecto para mañana :(
  3. Chicos, tengo otro proyecto que presentar para la carrera, donde estoy topando con la carga de datos de la BD a un dropdownlist. Les cuento, tengo una tabla con ciudades y necesito cargar dichas ciudades en un dropdownlist del index.jsp. La conexión a BD, se está realizando por medio de un Pool de conexión en GlashFish, por lo que quisiera saber si me pueden guiar como cargar dichos datos en mi web, por medio del método correspondiente. Este es el código que tengo preparado para poblar los datos en el drop del index <select name="nombreSede"> <option>Selecciona sede...</option> <c:forEach items="${postulaciones}" var="post" > <option value="${post.idSede}"><c:out value="${post.nombreSede}" /> </option> </c:forEach> </select><br/> Este es el correspondiente al Servlet. package cl.duoc.java.postulante.controller; import cl.duoc.java.postulante.domain.Carrera; import cl.duoc.java.postulante.domain.Postulante; import cl.duoc.java.postulante.domain.Sede; import cl.duoc.java.postulante.service.PostulanteService; import cl.duoc.java.postulante.service.ServicioException; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(name = "PostulanteListController", urlPatterns = {"/PostulanteListController"}) public class PostulanteListController extends HttpServlet { @EJB PostulanteService PostulanteService; @Override //Consulta datos para ser listados protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Postulante> post = new ArrayList<Postulante>(); try { post = PostulanteService.findAll(); } catch (ServicioException ex) { System.out.println("Problema"); Logger.getLogger(PostulanteListController.class.getName()).log(Level.SEVERE, null, ex); } request.setAttribute("postulaciones", post ); getServletContext().getRequestDispatcher("/listadoPostulantes.jsp").forward(request, response); } @Override //Guarda Datos protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Postulante post = new Postulante(); post.setIdPost(request.getParameter("idPost")); post.setNombresPost(request.getParameter("nombresPost")); post.setApellidosPost(request.getParameter("apellidosPost")); post.setDireccPost(request.getParameter("direccPost")); post.setEmailPost(request.getParameter("emailPost")); Sede sede = new Sede(); sede.getNombreSede(); try { PostulanteService.save(post); doGet(request,response); } catch (ServicioException ex) { System.out.println("Problema al grabar"); Logger.getLogger(PostulanteListController.class.getName()).log(Level.SEVERE, null, ex); request.setAttribute("mensaje ", ex.getMessage() ); getServletContext().getRequestDispatcher("/error.jsp").forward(request, response); } } }
  4. Te pasaste! genere las variables de sesión y active - desactive los que era necesario. Aún así, me gustaría aprender a asignar por permisos otorgados en la base de datos. Sabes como se llama eso o si me pueden recomendar algo así? Gracias!
  5. mmmm, ya veo. Pero lo que necesito, es lo siguiente: Tengo mi método que validad nombre de usuario y pass, que si es true, envía al index.aspx: protected void btnLogin_Click(object sender, EventArgs e) { loginMensaje.Text = ""; BCLogAcc.Principal validaDatos = new BCLogAcc.Principal(); try { if (validaDatos.login(txtUser.Text,txtPass.Text) == true) { Session["nombreUsuario"] = txtUser.Text; Response.Redirect("index.aspx"); } else { loginMensaje.Text = "Nombre usuario y/o contraseña no corresponden."; } } catch (Exception) { loginMensaje.Text = "Error en conexion a BBDD."; } } Luego tengo mi tabla simple, con datos y tipo de usuario. CREATE TABLE usuarios( nameUser NVARCHAR(20) NOT NULL, passUser NVARCHAR(20) NOT NULL, nomUser NVARCHAR(100) NOT NULL, profileUser NVARCHAR(7) NOT NULL CONSTRAINT PK_USUARIOS PRIMARY KEY(nameUser) ); INSERT INTO usuarios VALUES('admin','admin','Administrador','admin'); INSERT INTO usuarios VALUES('user','user','Usuario','user'); Necesito que, según el tipo de perfil, se oculten los links ingreso y consulta, que están en Site.Master. Estoy trabajando con MasterPage.
  6. Chicos, nuevamente recurro a ustedes, en base a el proyecto que estoy llevando a cabo para la carrera, donde debo crear usuarios en una tabla (admin y users), quien uno puedo ingresar datos y consultar y el otro, solo puede consultar. Conversando con una chica programadora que trabaja en la empresa donde trabajo, me comentó que esto se puede hacer por permisos de escritura a un campo en si (llave primaria de 'x' usuario, según si es admin o no) y en base a eso, crear una variable global y llamarla desde el código para ocultar opciones y habilitar, según sea el tipo de perfil. Me pueden ayudar con esto o bien, indicar como se llama este procedimiento para investigar un poco? Muchas gracias :D Estoy trabajando con asp.net C# y SQL Server 200R2
  7. Sí, ahora sólo tienes que revisar qué devuelve la función login y listo. Recuerda cambiar la declaración de los parámetros (los que quieres pasar por referencia). Ojo, no se pueden pasar propiedades por referencia ;) :huasonto: Muchas gracias! me ayudaste y aclaraste bastante! :D
  8. Perfecto, me quedó claro (aun me estoy dando cabezasos con el código ). Por lo tanto, ahora solo debo validarlo en el método btnLogin_Click del login.aspx.cs?
  9. Crap! maldito procedimiento de almacenado... Gracias susodicho! :D Chicos, como puedo validar los datos en el método protected void btnLogin_Click(object sender, EventArgs e){}, con los datos validados por la biblioteca de clase? traté de hacer lo por medio de un 'if' pero no veo como compararlo.
  10. Bueno chicos, me tocó finalmente preguntar aquí Resulta que estoy comenzando un proyecto en el ramo Desarrollo en .NET de la carrera (término de 4to semestre) y entre todo el proyecto, debo realizar un login en asp.net visual studio 2010, con datos de una miserable tabla en sql server 2008R2. La cosa es que la conexión a la base de datos, debe ser por biblioteca de clase y esta debe validar los datos para ser retornado a la aplicación en sí. El error que se me presenta, es al validar los datos en la biblioteca de clases, donde al entrar a la sentencia while(reader.Read()) pass = reader["passUser"].ToString(); me arroja un error IndexOutOfRangeException{"passUser"}. Me tinca que es algo super básico pero no he podido encontrar el problema. ayuda. CREATE TABLE usuarios( codUser VARCHAR(20) NOT NULL, //Nombre usuario passUser VARCHAR(20) NOT NULL,//Clave usuario nomUser VARCHAR(100) NOT NULL //Nombre para retornar en Sesión CONSTRAINT FK_USUARIOS PRIMARY KEY(codUser) ); INSERT INTO usuarios VALUES('banreaper','ban123','Banreaper Melchor'); SELECT * FROM usuarios CREATE PROCEDURE sp_val_login(@codUsr VARCHAR(10),@passUsr VARCHAR(10)) AS BEGIN SELECT codUser FROM usuarios WHERE @codUsr = codUser AND @passUsr = passUser; END Biblioteca de clase public class Principal { public void login(string user, string pass, Label mensaje) { string datos = ConfigurationManager.AppSettings["conexion"]; string sql = ConfigurationManager.AppSettings["login"];//Procedimiento almacenado sql = sql + " '" + user + "','" + pass + "'"; SqlDataReader reader; SqlConnection conexion = new SqlConnection(datos); SqlCommand comando = new SqlCommand(sql, conexion); try { conexion.Open(); reader = comando.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { user = reader["codUser"].ToString(); pass = reader["passUser"].ToString(); } } } catch (Exception e) { mensaje.Text = "Error en conexion a BD. " + e; } finally { conexion.Close(); } } } login.aspx public partial class login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnLogin_Click(object sender, EventArgs e) { loginMensaje.Text = ""; BCLogAcc.Principal validaDatos = new BCLogAcc.Principal(); validaDatos.login(txtUser.Text, txtPass.Text, loginMensaje); //Server.Transfer("index.aspx"); validar si es correcto y enviar al index } }
  11. Hola, Antes de especular cosas, me gustaría que hagas algo. Enciende tu mac y cuando lo veas demasiado lento, abre el monitor de actividad y fijate que aplicación o recurso, te está comiendo el mac. Luego, haz el cambio de fecha y fijate que cambios surgieron en el equipo. Demás está decir que: -Es recomendable reparar permisos del HDD/SSD con utilidades de discos. -Ejecutar CCleaner para eliminar basura alojada en el mac -Restaurar PRam y derivados. Me cuentas!
  12. Lamentablemente, son servicios online por medio de una "nube". Lo que borras en un equipo, se actualiza automaticamente en el otro cuando lo conectas a internet. Consejo, cuando hagas algo así, desconecta el internet del equipo que dudas que se vaya a borrar.
  13. off topic: Mi macbook pro, tenía un SSD de 120GB Samsung Evo y lo cambié por un SSD Crucial M500 de 240GB. Lo pillé a 59990 en Providencia. Era necesario el cambio por espacio, ya estaba corto...
  14. por medio de la pagina de apple, puedes consultar si tienes un id de apple registrado y con eso, puedes recuperar la contraseña.
×
×
  • Create New...