Documentos de Académico
Documentos de Profesional
Documentos de Cultura
JSP y Servlet
/*!40101 SET
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET
@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET
@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Base de datos: `javaweb_crud`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `articulos`
--
--
-- Volcado de datos para la tabla `articulos`
--
--
-- Índices para tablas volcadas
--
--
-- Indices de la tabla `articulos`
--
ALTER TABLE `articulos`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT de las tablas volcadas
--
--
-- AUTO_INCREMENT de la tabla `articulos`
--
ALTER TABLE `articulos`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
/*!40101 SET
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET
CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET
COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
1 <dependencies>
2 <dependency>
3 <groupId>javax.servlet</groupId>
4 <artifactId>javax.servlet-api</artifactId>
5 <version>3.1.0</version>
6 <scope>provided</scope>
7 </dependency>
8 <dependency>
9 <groupId>javax.servlet.jsp</groupId>
10 <artifactId>javax.servlet.jsp-api</artifactId>
11 <version>2.3.1</version>
12 <scope>provided</scope>
13 </dependency>
14 <dependency>
15 <groupId>jstl</groupId>
16 <artifactId>jstl</artifactId>
17 <version>1.2</version>
18 </dependency>
19 <dependency>
20 <groupId>mysql</groupId>
21 <artifactId>mysql-connector-java</artifactId>
22 <version>5.1.30</version>
23 </dependency>
24 </dependencies>
1 package com.ecodeup.articulos.model;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.SQLException;
6
7 /*
8 * @autor: Elivar Largo
9 * @web: www.ecodeup.com
10 */
11
12 public class Conexion {
13 private Connection jdbcConnection;
14 private String jdbcURL;
15 private String jdbcUsername;
16 private String jdbcPassword;
17
18 public Conexion(String jdbcURL, String jdbcUsername, String jdbcPassword) {
19 this.jdbcURL = jdbcURL;
20 this.jdbcUsername = jdbcUsername;
21 this.jdbcPassword = jdbcPassword;
22 }
23
24 public void conectar() throws SQLException {
25 if (jdbcConnection == null || jdbcConnection.isClosed()) {
26 try {
27 Class.forName("com.mysql.jdbc.Driver");
28 } catch (ClassNotFoundException e) {
29 throw new SQLException(e);
30 }
31 jdbcConnection = DriverManager.getConnection(
32 jdbcURL, jdbcUsername, jdbcPassword);
33 }
34 }
35
36 public void desconectar() throws SQLException {
37 if (jdbcConnection != null && !jdbcConnection.isClosed()) {
38 jdbcConnection.close();
39 }
40 }
41
42 public Connection getJdbcConnection() {
43 return jdbcConnection;
44 }
45
46 }
1 package com.ecodeup.articulos.model;
2
3 /*
4 * @autor: Elivar Largo
5 * @ web: www.ecodeup.com
6 */
7
8 public class Articulo {
9 private int id;
10 private String codigo;
11 private String nombre;
12 private String descripcion;
13 private double existencia;
14 private double precio;
15
16 public Articulo(int id, String codigo, String nombre, String descripcion, double existencia,
17 double precio) {
18 this.id = id;
19 this.codigo = codigo;
20 this.nombre = nombre;
21 this.descripcion = descripcion;
22 this.existencia = existencia;
23 this.precio = precio;
24 }
25 //getters y setters
26 public int getId() {
27 return id;
28 }
29
public void setId(int id) {
30 this.id = id;
31 }
32 public String getCodigo() {
33 return codigo;
34 }
35 public void setCodigo(String codigo) {
36 this.codigo = codigo;
37 }
38 public String getNombre() {
39 return nombre;
40 }
41 public void setNombre(String nombre) {
42 this.nombre = nombre;
43 }
44 public String getDescripcion() {
45 return descripcion;
46 }
47 public void setDescripcion(String descripcion) {
48 this.descripcion = descripcion;
49 }
50 public double getExistencia() {
51 return existencia;
52 }
53 public void setExistencia(double existencia) {
54 this.existencia = existencia;
55 }
56 public double getPrecio() {
57 return precio;
58 }
59 public void setPrecio(double precio) {
60 this.precio = precio;
61 }
}
1 package com.ecodeup.articulos.dao;
2
3 import java.sql.Connection;
4 import java.sql.PreparedStatement;
5 import java.sql.ResultSet;
6 import java.sql.SQLException;
7 import java.sql.Statement;
8 import java.util.ArrayList;
9 import java.util.List;
10
11 import com.ecodeup.articulos.model.Articulo;
12 import com.ecodeup.articulos.model.Conexion;
13
14 /*
15 * @autor: Elivar Largo
16 * @web: www.ecodeup.com
17 */
18
19 public class ArticuloDAO {
20 private Conexion con;
21 private Connection connection;
22
23 public ArticuloDAO(String jdbcURL, String jdbcUsername, String jdbcPassword) throws
24 SQLException {
25 System.out.println(jdbcURL);
26 con = new Conexion(jdbcURL, jdbcUsername, jdbcPassword);
27 }
28
29 // insertar artículo
30 public boolean insertar(Articulo articulo) throws SQLException {
31 String sql = "INSERT INTO articulos (id, codigo, nombre, descripcion, existencia,
32 precio) VALUES (?, ?, ?,?,?,?)";
33 System.out.println(articulo.getDescripcion());
34 con.conectar();
35 connection = con.getJdbcConnection();
36 PreparedStatement statement = connection.prepareStatement(sql);
37 statement.setString(1, null);
38 statement.setString(2, articulo.getCodigo());
39 statement.setString(3, articulo.getNombre());
40 statement.setString(4, articulo.getDescripcion());
41 statement.setDouble(5, articulo.getExistencia());
42 statement.setDouble(6, articulo.getPrecio());
43
44 boolean rowInserted = statement.executeUpdate() > 0;
45 statement.close();
46 con.desconectar();
47 return rowInserted;
48 }
49
50 // listar todos los productos
51 public List<Articulo> listarArticulos() throws SQLException {
52
53 List<Articulo> listaArticulos = new ArrayList<Articulo>();
54 String sql = "SELECT * FROM articulos";
55 con.conectar();
56 connection = con.getJdbcConnection();
57 Statement statement = connection.createStatement();
58 ResultSet resulSet = statement.executeQuery(sql);
59
60 while (resulSet.next()) {
61 int id = resulSet.getInt("id");
62 String codigo = resulSet.getString("codigo");
63 String nombre = resulSet.getString("nombre");
64 String descripcion = resulSet.getString("descripcion");
65 Double existencia = resulSet.getDouble("existencia");
66 Double precio = resulSet.getDouble("precio");
67 Articulo articulo = new Articulo(id, codigo, nombre, descripcion, existencia,
68 precio);
69 listaArticulos.add(articulo);
70 }
71 con.desconectar();
72 return listaArticulos;
73 }
// obtener por id
public Articulo obtenerPorId(int id) throws SQLException {
74 Articulo articulo = null;
75
76 String sql = "SELECT * FROM articulos WHERE id= ? ";
77 con.conectar();
78 connection = con.getJdbcConnection();
79 PreparedStatement statement = connection.prepareStatement(sql);
80 statement.setInt(1, id);
81
82 ResultSet res = statement.executeQuery();
83 if (res.next()) {
84 articulo = new Articulo(res.getInt("id"), res.getString("codigo"),
85 res.getString("nombre"),
86 res.getString("descripcion"), res.getDouble("existencia"),
87 res.getDouble("precio"));
88 }
89 res.close();
90 con.desconectar();
91
92 return articulo;
93 }
94
95 // actualizar
96 public boolean actualizar(Articulo articulo) throws SQLException {
97 boolean rowActualizar = false;
98 String sql = "UPDATE articulos SET
99 codigo=?,nombre=?,descripcion=?,existencia=?, precio=? WHERE id=?";
100 con.conectar();
101 connection = con.getJdbcConnection();
102 PreparedStatement statement = connection.prepareStatement(sql);
103 statement.setString(1, articulo.getCodigo());
104 statement.setString(2, articulo.getNombre());
105 statement.setString(3, articulo.getDescripcion());
106 statement.setDouble(4, articulo.getExistencia());
107 System.out.println(articulo.getPrecio());
108 statement.setDouble(5, articulo.getPrecio());
109 statement.setInt(6, articulo.getId());
110
111 rowActualizar = statement.executeUpdate() > 0;
112 statement.close();
113 con.desconectar();
114 return rowActualizar;
115 }
116
117 //eliminar
118 public boolean eliminar(Articulo articulo) throws SQLException {
119 boolean rowEliminar = false;
120 String sql = "DELETE FROM articulos WHERE ID=?";
121 con.conectar();
122 connection = con.getJdbcConnection();
123 PreparedStatement statement = connection.prepareStatement(sql);
124 statement.setInt(1, articulo.getId());
125
126 rowEliminar = statement.executeUpdate() > 0;
127 statement.close();
128 con.desconectar();
129
return rowEliminar;
}
}
1 package com.ecodeup.articulo.controller;
2
3 import java.io.IOException;
4 import java.sql.SQLException;
5 import java.util.List;
6
7 import javax.servlet.RequestDispatcher;
8 import javax.servlet.ServletException;
9 import javax.servlet.annotation.WebServlet;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 import com.ecodeup.articulos.dao.ArticuloDAO;
15 import com.ecodeup.articulos.model.Articulo;
16
17 /**
18 * Servlet implementation class AdminArticulo
19 */
20 @WebServlet("/adminArticulo")
21 public class AdminArticulo extends HttpServlet {
22 private static final long serialVersionUID = 1L;
23 ArticuloDAO articuloDAO;
24
25 public void init() {
26 String jdbcURL = getServletContext().getInitParameter("jdbcURL");
27 String jdbcUsername = getServletContext().getInitParameter("jdbcUsername");
28 String jdbcPassword = getServletContext().getInitParameter("jdbcPassword");
29 try {
30
31 articuloDAO = new ArticuloDAO(jdbcURL, jdbcUsername, jdbcPassword);
32 } catch (Exception e) {
33 // TODO: handle exception
34 }
35 }
36
37 /**
38 * @see HttpServlet#HttpServlet()
39 */
40 public AdminArticulo() {
41 super();
42 // TODO Auto-generated constructor stub
43 }
44
45 /**
46 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
47 * response)
48 */
49 protected void doGet(HttpServletRequest request, HttpServletResponse response)
50 throws ServletException, IOException {
51 System.out.println("Hola Servlet..");
52 String action = request.getParameter("action");
53 System.out.println(action);
54 try {
55 switch (action) {
56 case "index":
57 index(request, response);
58 break;
59 case "nuevo":
60 nuevo(request, response);
61 break;
62 case "register":
63 System.out.println("entro");
64 registrar(request, response);
65 break;
66 case "mostrar":
67 mostrar(request, response);
68 break;
69 case "showedit":
70 showEditar(request, response);
71 break;
72 case "editar":
73 editar(request, response);
74 break;
75 case "eliminar":
76 eliminar(request, response);
77 break;
78 default:
79 break;
80 }
81 } catch (SQLException e) {
82 e.getStackTrace();
83 }
84
85
86
87 }
88
89 /**
90 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
91 * response)
92 */
93 protected void doPost(HttpServletRequest request, HttpServletResponse response)
94 throws ServletException, IOException {
95 System.out.println("Hola Servlet..");
96 doGet(request, response);
97 }
98
99 private void index (HttpServletRequest request, HttpServletResponse response) throws
100 SQLException, ServletException, IOException{
101 //mostrar(request, response);
102 RequestDispatcher dispatcher= request.getRequestDispatcher("index.jsp");
103 dispatcher.forward(request, response);
104 }
105
106 private void registrar(HttpServletRequest request, HttpServletResponse response) throws
107 ServletException, IOException, SQLException {
108 Articulo articulo = new Articulo(0, request.getParameter("codigo"),
109 request.getParameter("nombre"), request.getParameter("descripcion"),
110 Double.parseDouble(request.getParameter("cantidad")),
Double.parseDouble(request.getParameter("precio")));
articuloDAO.insertar(articulo);
}
}