Paulo Andres Escobar Ingenieria de Sistemas, Orientacion a la Programacion el arte de crear Programas
martes, 3 de septiembre de 2013
para tener en cuenta en bases de datos
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/clubBD", "usuario", "password");
Statement st = conexion.createStatement();
ResultSet resultados = st.executeQuery("select * from afiliado");
ResultSetMetaData tablaDatos = resultados.getMetaData();
int nColumnas = tablaDatos.getColumnCount();
DefaultTableModel TablaVisual = new DefaultTableModel();
this.jTable1.setModel(TablaVisual);
for (int i = 1; i < nColumnas; i++) {
TablaVisual.addColumn(tablaDatos.getColumnLabel(i));
}
while(resultados.next())
{
Object[] vector = new Object[nColumnas];
for (int i = 0; i < nColumnas; i++) {
vector[i]= resultados.getObject(i+1);
}
TablaVisual.addRow(vector);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
lunes, 2 de septiembre de 2013
Sessiones de usuario
no se si uds han visto que uno muchas veces entra a facebook y despues visita otras paginas pero vuelves a tu face y te logea como si no te hubieras salido nunca.
bueno hay algo que se llama sessiones de usuario. Nosotros vamos a usar en este momento una session de tipo httpsession que se podria declara asi:
HttpSession nombreSesion=request.getSession();
esto lo que hace es que toma la session con la que entraste y la almacena en un objeto de tipo httpsession y si ya esta creada solo la sigue usando.
por ejemplo yo quiero almacenar una serie de resultados pero para cada persona y a diferencia de antes que los resultados eran los mismos para todos, los resultados aca serian independientes para cada usuario.
veamos un ejemplo con un servlet creemos uno nuevo en el proyecto que veniamos trabajando en unos tutoriales mas abajo.
public class SessionResultadosServlets extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
HttpSession s =request.getSession();
//aca creamos un array list que nos almacene unos resultados esta primera vez es null por que necesitamos que se inicialice para cada nuevo usuario.//
ArrayList<Double> res = null;
//ahora preguntaremos si el atributo res que tiene mi session no es nulo para mi variable res hagala igual a el atributo res que tiene mi session o de lo contrario cree un nuevo arreglo que se llame res //
if (s.getAttribute("res")!=null)
{
res = (ArrayList) s.getAttribute("res");
}
else {
res = new ArrayList<Double>();
}
String n1= request.getParameter("n1");
String n2 = request.getParameter("n2");
String operacion = request.getParameter("operacion");
OperacionesConNumero op = new OperacionesConNumero(Integer.parseInt(n1),Integer.parseInt(n2));
if(operacion.compareTo("+")==0)
{
resultado = op.getSuma();
res.add(resultado);
}
if(operacion.compareTo("-")==0)
{
resultado = op.getResta();
res.add(resultado);
}
if(operacion.compareTo("*")==0)
{
resultado = op.getmult();
res.add(resultado);
}
if(operacion.compareTo("/")==0)
{
resultado = op.getdiv();
res.add(resultado);
}
s.setAttribute("res", res);// aca simplemete le asignamos al atributo res lo que tenia la variable que llamamos res tambien
out.println(n1+operacion+n2+"="+resultado);
for (int j = 0; j < res.size(); j++) {
out.println("<br>"+res.get(j));
}
out.println("</html>");
} finally {
out.close();
}
}
bueno hay algo que se llama sessiones de usuario. Nosotros vamos a usar en este momento una session de tipo httpsession que se podria declara asi:
HttpSession nombreSesion=request.getSession();
esto lo que hace es que toma la session con la que entraste y la almacena en un objeto de tipo httpsession y si ya esta creada solo la sigue usando.
por ejemplo yo quiero almacenar una serie de resultados pero para cada persona y a diferencia de antes que los resultados eran los mismos para todos, los resultados aca serian independientes para cada usuario.
veamos un ejemplo con un servlet creemos uno nuevo en el proyecto que veniamos trabajando en unos tutoriales mas abajo.
public class SessionResultadosServlets extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
HttpSession s =request.getSession();
//aca creamos un array list que nos almacene unos resultados esta primera vez es null por que necesitamos que se inicialice para cada nuevo usuario.//
ArrayList<Double> res = null;
//ahora preguntaremos si el atributo res que tiene mi session no es nulo para mi variable res hagala igual a el atributo res que tiene mi session o de lo contrario cree un nuevo arreglo que se llame res //
if (s.getAttribute("res")!=null)
{
res = (ArrayList) s.getAttribute("res");
}
else {
res = new ArrayList<Double>();
}
String n1= request.getParameter("n1");
String n2 = request.getParameter("n2");
String operacion = request.getParameter("operacion");
OperacionesConNumero op = new OperacionesConNumero(Integer.parseInt(n1),Integer.parseInt(n2));
if(operacion.compareTo("+")==0)
{
resultado = op.getSuma();
res.add(resultado);
}
if(operacion.compareTo("-")==0)
{
resultado = op.getResta();
res.add(resultado);
}
if(operacion.compareTo("*")==0)
{
resultado = op.getmult();
res.add(resultado);
}
if(operacion.compareTo("/")==0)
{
resultado = op.getdiv();
res.add(resultado);
}
s.setAttribute("res", res);// aca simplemete le asignamos al atributo res lo que tenia la variable que llamamos res tambien
out.println(n1+operacion+n2+"="+resultado);
for (int j = 0; j < res.size(); j++) {
out.println("<br>"+res.get(j));
}
out.println("</html>");
} finally {
out.close();
}
}
Redireccionamiento en un servlet
vamos a validar algo simple en el servlet como es una contraseña predeterminada y si es correcta hacer un foward(un redireccionamiento) conservando los mismo parametro que se le ingresaron inicialmente.
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String password = "toor";
String pass=(request.getParameter("admin"));
int u = pass.compareTo(password);
if(u==0)
{
request.getRequestDispatcher("new.jsp").forward(request, response);
}
else
{
request.getRequestDispatcher("index.jsp?usr=novalido").forward(request, response);
}
} finally {
out.close();
}
}
Método para obtener todos los parámetros que han sido enviados
muchas veces necesitamos obtener muchos parametros que no conocemos entonces este es un ciclo que se mete dentro del servlet y al ejecutarse te devuelve todos los parametros que fueron enviados al servlet
Enumeration<String> e = request.getParameterNames();
while(e.hasMoreElements())
{
out.println(e.nextElement().toString());
}
Enumeration<String> e = request.getParameterNames();
while(e.hasMoreElements())
{
out.println(e.nextElement().toString());
}
aplicaciones web y servlets
Cuando hablamos de una pagina web interactiva o dinámica quiere decir que el usuario puede interactuar con el navegador haciendo operaciones y otro tipo de cosas que retornan un resultado.
Para esto usamos los servlets, son una clase de java que implementa un request y un response ademas se encarga de interpretar un poco de html para poder interactuar con el servidor.
Los servlets es donde hacemos la LOGICA DEL NEGOCIO, el servlet se encarga de hacer procesos mediante otras clases y ademas pasar los resultados.
el metodo request.getParameter("nombre del parametro"): nos sirve para capturar los parámetros que nos mandan por el navegador. Cada vez que llenas un formulario en una pagina web y le das enviar, la pagina toma el nombre de las variables que mandaste y las envía como parámetros a la pagina solicitada y lo que hace el metodo es obtener el valor del parametro.
HAGAMOS CALCULADORA VIRTUAL
Pasos para crear un servlet:
1)abrir un nuevo java web aplication en netbeans.
una vez creado el espacio para trabajar el te asigna un index.jsp (el index es la pagina principal por defecto) que esta en la carpeta web.
vamos a crear un formulario dentro de el index.jsp donde nos pueda ingresar unos datos
<form action="aca va el nombre de tu servlet" method="POST">
<input type="text" name="n1" value="" size="20" />
<select name="operacion">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<input type="text" name="n2" value="" size="20" />
<input type="submit" value="calcular" name="calcular" />
</form>
este formulario son dos cajones de texto , un option box y un boton de enviar se ve asi
aca en este formulario el cajo 1 se llama "n1", el option box se llama "operacion" , el campo 2 se llama "n2" y el boton se llama "calcular". estos serian los nombres de los parametros que vamos a enviar.
una vez hecho esto creemos un java package con el nombre que queras dentro de la carpeta source package, alli vamos a almacenar el servlet que necesitamos.
vamos a darle click derecho sobre el paquete nuevo que creamos y creamos un nuevo servlet.
ahora creemos una clase normal de java que se llame OperacionesConNumero.
public class OperacionesConNumero {
double n1,n2;
public OperacionesConNumero() {
}
public OperacionesConNumero(double n1, double n2) {
this.n1 = n1;
this.n2 = n2;
}
public double getN1() {
return n1;
}
public void setN1(double n1) {
this.n1 = n1;
}
public double getN2() {
return n2;
}
public void setN2(double n2) {
this.n2 = n2;
}
public double getSuma()
{
return this.n1+this.n2;
}
public double getResta()
{
return this.n1-this.n2;
}
public double getmult()
{
return this.n1*this.n2;
}
public double getdiv()
{
if(this.n2==0 ||this.n1==0)
{
return 0;
}
else
{
return n1/n2;
}
}
}
codigo para el servlet
public class Calculadora extends HttpServlet {
private OperacionesConNumero op;
private double resultado;
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/* TODO output your page here. You may use following sample code. */
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Calculadora</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet Calculadora at " + request.getContextPath() + "</h1>");
out.println("</body>");
String n1= request.getParameter("n1");
String n2 = request.getParameter("n2");
String operacion = request.getParameter("operacion");
op = new OperacionesConNumero(Integer.parseInt(n1),Integer.parseInt(n2));
if(operacion.compareTo("+")==0)
{
resultado = op.getSuma();
}
if(operacion.compareTo("-")==0)
{
resultado = op.getResta();
}
if(operacion.compareTo("*")==0)
{
resultado = op.getmult();
}
if(operacion.compareTo("/")==0)
{
resultado = op.getdiv();
}
out.println(n1+operacion+n2+"="+resultado);
out.println("</html>");
} finally {
out.close();
}
}
algoritmos
aplicaciones web,
java,
netbeans,
servlets
Suscribirse a:
Entradas (Atom)
+9.50.00.png)
+10.00.24.png)
+10.07.49.png)