When I exceed 10 characters when changing the user password, I get this error:
And when I want to delete I get this error:
CODE of UpdateUsers.jsp:
<%@page import="pe.edu.sise.bean.ErrorBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<title>Actualizar Usuarios</title>
</head>
<body>
<%
if (Integer.parseInt(request.getParameter("IDUSUARIO"))!=0 &&
request.getParameter("USUARIO") != null
&& request.getParameter("PASSWORD") != null)
{
session.setAttribute("IDUSUARIO", Integer.parseInt(request.getParameter("IDUSUARIO")));
%>
<div class="container">
<form action="ActualizarUsuarioServlet" method="post">
<div class="form-group">
<h2>Actualizar Usuarios</h2>
<jsp:useBean id="error" scope="request" class="pe.edu.sise.bean.ErrorBean"/>
<%--igual
<%
ErrorBean error = new ErrorBean();
%> --%>
<label>IDUSUARIO</label>
<input type="text" name="txtIdusuario" readonly="readonly" value="<%=request.getParameter("IDUSUARIO")%>" class="form-control">
</div>
<div class="form-group">
<label>USUARIO</label>
<input type="text" name="txtUsuario" value="<%=request.getParameter("USUARIO")%>" class="form-control">
</div>
<div class="form-group">
<label>PASSWORD</label>
<input type="text" name="txtPassword" value="<%=request.getParameter("PASSWORD")%>" class="form-control">
</div>
<div class="form-group text-center">
<button type="submit" class="btn btn-primary">Enviar Modificación</button>
<%
if (error.getMsg() != null){
%>
<div class="alert alert-danger" role="alert">
<jsp:getProperty name="error" property="msg" />
<%-- <%= error.getMsg()%> --%>
</div>
<%
}
%>
</div>
</form>
<% } %>
<a href="<%=request.getContextPath()%>/usuarios.jsp">Atrás</a>
</div>
</body>
</html>
DeleteUsuarios.jsp CODE:
<%@page import="pe.edu.sise.bean.ErrorBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<title>Eliminar Usuarios</title>
</head>
<body>
<%
if(Integer.parseInt(request.getParameter("ID"))!=0 &&
request.getParameter("USUARIO")!=null &&
request.getParameter("PASSWORD")!=null)
{
session.setAttribute("IDUSUARIO", Integer.parseInt(request.getParameter("IDUSUARIO")));
%>
<div class="container">
<form action="EliminarUsuarioServlet" method="post">
<div class="form-group">
<h2>Eliminar Usuarios</h2>
<jsp:useBean id="error" scope="request" class="pe.edu.sise.bean.ErrorBean" />
<%--igual
<%
ErrorBean error = new ErrorBean();
%> --%>
<label>IdUsuario</label>
<input type="hidden" name="txtIdusuario" value="<%=request.getParameter("IDUSUARIO")%>" class="form-control">
</div>
<div class="form-group">
<label>Usuario</label>
<input type="text" name="txtUsuario" value="<%=request.getParameter("USUARIO")%>" class="form-control">
</div>
<div class="form-group">
<label>Password</label>
<input type="text" name="txtPassword" value="<%=request.getParameter("PASSWORD")%>" class="form-control">
</div>
<div class="form-group text-center">
<button type="submit" class="btn btn-primary" >Confirmar Eliminación de Usuario</button>
<%
if (error.getMsg() != null) {
%>
<div class="alert alert-danger" role="alert">
<jsp:getProperty name="error" property="msg" />
<%-- <%= error.getMsg()%> --%>
</div>
<%
}
%>
</div>
</form>
<% } %>
<a href="<%=request.getContextPath()%>/usuarios.jsp">Atrás</a>
</div>
</body>
</html>
CODE OF users.jsp:
<%@page import="pe.edu.sise.bean.Usuarios"%>
<%@page import="java.util.List"%>
<%@page import="pe.edu.sise.dao.ConexionBD"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="css/bootstrap.min.css" />
<title>Mantenimiento Usuarios</title>
</head>
<body>
<table class="table table-striped">
<h2>Usuarios:</h2>
<tr>
<th>IdUsuario</th>
<th>Usuario</th>
<th>Password (Contraseña)</th>
</tr>
<%
ConexionBD conexionBD = new ConexionBD();
List<Usuarios> lista = conexionBD.listarUsuarios();
for (Usuarios u : lista) {
%>
<tr>
<td><%= u.getIDUSUARIO()%></td>
<td><%= u.getUSUARIO()%></td>
<td><%= u.getPASSWORD()%></td>
<td><a href="ActualizarUsuarios.jsp?IDUSUARIO=<%= u.getIDUSUARIO()%>&&USUARIO=<%= u.getUSUARIO()%>&&PASSWORD=<%= u.getPASSWORD()%>">Actualizar</a></td>
<td><a href="EliminarUsuarios.jsp?IDUSUARIO=<%= u.getIDUSUARIO()%>&&USUARIO=<%= u.getUSUARIO()%>&&PASSWORD=<%= u.getPASSWORD()%>">Eliminar</a></td>
</tr>
<%
}
%>
</table>
<center><a href="<%=request.getContextPath()%>/menu.jsp">Ir al menú</a></center>
</body>
</html>
SERVvlet.java UserUpdate CODE:
package pe.edu.sise.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import pe.edu.sise.bean.ErrorBean;
import pe.edu.sise.bean.Usuarios;
import pe.edu.sise.dao.ConexionBD;
public class ActualizarUsuarioServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
ConexionBD conexionBD = new ConexionBD();
Usuarios usuarios = new Usuarios();
String nombreUsuario = request.getParameter("txtUsuario");
String password = request.getParameter("txtPassword");
int idusuario = Integer.parseInt(request.getParameter("txtIdusuario"));
usuarios.setUSUARIO(nombreUsuario);
usuarios.setPASSWORD(password);
usuarios.setIDUSUARIO(idusuario);
int resultado = conexionBD.ActualizarUsuarios(usuarios);
if (resultado == 1) {
response.sendRedirect(request.getContextPath() + "/usuarios.jsp");
} else {
//Página Error....
}
}
public void gestionaError(HttpServletRequest request, HttpServletResponse response, int code,
String msg) throws Exception {
ErrorBean error = new ErrorBean();
error.setCode(1);
error.setMsg("No se pudo actualizar la información");
request.setAttribute("error", error);
ServletContext ctx = getServletContext();
RequestDispatcher rd = ctx.getRequestDispatcher("/ActualizarUsuarios.jsp");
rd.forward(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
DELETE DeleteServlet.java CODE:
package pe.edu.sise.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import pe.edu.sise.bean.ErrorBean;
import pe.edu.sise.bean.Usuarios;
import pe.edu.sise.dao.ConexionBD;
/**
*
* @author FAMARESAM-PC
*/
public class EliminarUsuarioServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
ConexionBD conexionBD = new ConexionBD();
Usuarios usuarios = new Usuarios();
int idusu=Integer.parseInt(request.getParameter("txtIdusuario"));
usuarios.setIDUSUARIO(idusu);
int resultado = conexionBD.EliminarUsuarios(usuarios);
if(resultado == 1){
response.sendRedirect(request.getContextPath() + "/usuarios.jsp");
}else{
}
}
public void gestionaError(HttpServletRequest request, HttpServletResponse response, int code,
String msg) throws Exception {
ErrorBean error = new ErrorBean();
error.setCode(1);
error.setMsg("No se pudo registrar la información");
request.setAttribute("error", error);
ServletContext ctx = getServletContext();
RequestDispatcher rd = ctx.getRequestDispatcher("/EliminarUsuarios.jsp");
rd.forward(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
ConexionBD.java CODE:
package pe.edu.sise.dao;
// Paso 2: Importar el paquete sql
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import pe.edu.sise.bean.Producto;
import pe.edu.sise.bean.Usuarios;
public class ConexionBD {
Connection con = null;
ResultSet rs = null;
public ConexionBD() {
try {
//Paso 1: Registrar el Driver de Conexión de SQL Server
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
} catch (Exception ex) {
System.err.println("Exception: " + ex.getMessage());
}
}
public boolean loginUsuario(String usuario, String contrasenia) {
boolean usuarioValido = false;
//Paso 3: Conectarse a la Base de Datos
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
//Paso 4: ejecuto mi Consulta/Query
String sql = "SELECT USUARIO, PASSWORD FROM TBL_USER WHERE USUARIO=? AND PASSWORD=?";
PreparedStatement prst = con.prepareStatement(sql);
prst.setString(1, usuario.trim());
prst.setString(2, contrasenia.trim());
rs = prst.executeQuery();
if (rs.next()) {
usuarioValido = true;
}
con.close();
} catch (SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
return usuarioValido;
}
public List<Producto> listarProductos() {
List<Producto> productos = new ArrayList<>();
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
String sql = "SELECT * FROM TBL_PRODUCTO";
Statement cmd = con.createStatement();
rs = cmd.executeQuery(sql);
while (rs.next()) {
Producto p = new Producto();
p.setID(rs.getInt(1));
p.setNOMBRE(rs.getString(2));
p.setCANTIDAD(rs.getInt(3));
p.setPRECIO_UNIT(rs.getDouble(4));
productos.add(p);
}
con.close();
} catch (SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
return productos;
}
public int InsertarProducto(Producto objp) {
int resultado = 0;
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
String sql = "INSERT INTO tbl_producto(NOMBRE,CANTIDAD,PRECIO_UNIT) VALUES(?,?,?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, objp.getNOMBRE());
ps.setInt(2, objp.getCANTIDAD());
ps.setDouble(3, objp.getPRECIO_UNIT());
resultado = ps.executeUpdate();
con.close();
} catch (SQLException e) {
System.err.println("SQLException: " + e.getMessage());
} finally {
}
return resultado;
}
public int ActualizarProducto(Producto objp) {
int res = 0;
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
String sql = "UPDATE tbl_producto SET NOMBRE=?,CANTIDAD=?,PRECIO_UNIT=? WHERE ID=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, objp.getNOMBRE());
ps.setInt(2, objp.getCANTIDAD());
ps.setDouble(3, objp.getPRECIO_UNIT());
ps.setInt(4, objp.getID());
res = ps.executeUpdate();
con.close();
} catch (SQLException e) {
System.err.println("SQLException: " + e.getMessage());
} finally {
}
return res;
}
public int EliminarProducto(Producto objp) {
int res = 0;
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
String sql = "DELETE FROM TBL_PRODUCTO WHERE ID=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, objp.getID());
res = ps.executeUpdate();
con.close();
} catch (SQLException e) {
System.err.println("SQLException: " + e.getMessage());
} finally {
}
return res;
}
public List<Usuarios> listarUsuarios() {
List<Usuarios> usuarios = new ArrayList<>();
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
String sql = "SELECT * FROM TBL_USER";
Statement cmd = con.createStatement();
rs = cmd.executeQuery(sql);
while (rs.next()) {
Usuarios u = new Usuarios();
u.setIDUSUARIO(rs.getInt(1));
u.setUSUARIO(rs.getString(2));
u.setPASSWORD(rs.getString(3));
usuarios.add(u);
}
con.close();
} catch (SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
return usuarios;
}
public int InsertarUsuarios(Usuarios obju) {
int res = 0;
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
String sql = "INSERT INTO tbl_user(USUARIO, PASSWORD) VALUES(?,?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, obju.getUSUARIO());
ps.setString(2, obju.getPASSWORD());
res = ps.executeUpdate();
con.close();
} catch (Exception e) {
System.err.println("SQLException: " + e.getMessage());
} finally {
}
return res;
}
public int ActualizarUsuarios(Usuarios obju) {
int res = 0;
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
String sql = "UPDATE TBL_USER SET USUARIO=?,PASSWORD=? WHERE IDUSUARIO=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, obju.getUSUARIO());
ps.setString(2, obju.getPASSWORD());
ps.setInt(3, obju.getIDUSUARIO());
res = ps.executeUpdate();
con.close();
} catch (SQLException e) {
System.err.println("SQLException: " + e.getMessage());
} finally {
}
return res;
}
public int EliminarUsuarios(Usuarios obju) {
int res = 0;
try {
con = DriverManager.getConnection("jdbc:sqlserver://localhost\.:1433;databaseName=sisebd;user=sa;password=123");
String sql = "DELETE FROM TBL_USER WHERE IDUSUARIO=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, obju.getIDUSUARIO());
res = ps.executeUpdate();
con.close();
} catch (SQLException e) {
System.err.println("SQLException: " + e.getMessage());
} finally {
}
return res;
}
}
CODE OF THE CLASS Users.java:
package pe.edu.sise.bean;
import java.io.Serializable;
public class Usuarios implements Serializable{
private int IDUSUARIO;
private String USUARIO;
private String PASSWORD;
public int getIDUSUARIO() {
return IDUSUARIO;
}
public void setIDUSUARIO(int IDUSUARIO) {
this.IDUSUARIO = IDUSUARIO;
}
public String getUSUARIO() {
return USUARIO;
}
public void setUSUARIO(String USUARIO) {
this.USUARIO = USUARIO;
}
public String getPASSWORD() {
return PASSWORD;
}
public void setPASSWORD(String PASSWORD) {
this.PASSWORD = PASSWORD;
}
}
ErrorBean.java CODE:
package pe.edu.sise.bean;
import java.io.Serializable;
public class ErrorBean implements Serializable{
private String msg;
private int code;
/**
* @return the msg
*/
public String getMsg() {
return msg;
}
/**
* @param msg the msg to set
*/
public void setMsg(String msg) {
this.msg = msg;
}
/**
* @return the code
*/
public int getCode() {
return code;
}
/**
* @param code the code to set
*/
public void setCode(int code) {
this.code = code;
}
}
DATABASE CODE (SQL SERVER):
CREATE DATABASE sisebd
GO
USE sisebd
GO
CREATE TABLE TBL_USER(
IDUSUARIO INT IDENTITY (1,1) NOT NULL PRIMARY KEY,
USUARIO VARCHAR(20) NOT NULL,
PASSWORD VARCHAR(10) NOT NULL
);
INSERT INTO TBL_USER VALUES ('admin','123');
INSERT INTO TBL_USER VALUES ('parellano', '123456');
INSERT INTO TBL_USER VALUES ('jmatos', 'agffd451');
SELECT * FROM TBL_USER;
CREATE TABLE TBL_PRODUCTO(
ID int identity (1,1) not null primary key,
NOMBRE varchar(50) not null,
CANTIDAD int not null,
PRECIO_UNIT decimal(18,2) not null
);
INSERT INTO TBL_PRODUCTO VALUES ('LECHE', 50, 2);
INSERT INTO TBL_PRODUCTO VALUES ('PESCADO', 300, 15);
INSERT INTO TBL_PRODUCTO VALUES ('ARROZ',200,3);
INSERT INTO TBL_PRODUCTO VALUES ('AZUCAR',250,2);
SELECT * FROM TBL_PRODUCTO;