He intentado pintar los datos json desde mi web service pero me aparece nulo sin embargo con anterioridad si me pintaba los datos, la conexión con la base de datos esta bien, no se cual sera el error. Error: { “message”: null, “status”: false } Aqui les dejo mi:
–Controller
@Controller @RequestMapping(“Cargo”) public class CargoController { static Log log = LogFactory.getLog(CargoController.class.getName());
//@Autowired CargoService cargoService; @RequestMapping(value="/Web", method = RequestMethod.GET) public ModelAndView showView(HttpServletRequest request, HttpServletResponse response) { log.info("CargoController.showView - Iniciando."); ModelAndView modelo = null; //HttpSession session = request.getSession(true); try { //TODO ModalAndView modelo = new ModelAndView(); modelo.setViewName("viewCargos"); Map<String, Object> titulos = new HashMap<String, Object>(); titulos.put("tituloDefecto", "Mantenimiento Cargo"); modelo.addObject("titulos", new JsonSerializer().serialize(titulos)); //TODO LISTAR CARGOS List<CargoBean> lstCargos = cargoService.listarCargos(); modelo.addObject("listadoCargos", new JsonSerializer().serialize(lstCargos)); } catch (Exception e) { log.error("CargoController.showView - Error"); log.error(e.getMessage()); } log.info("CargoController.showView - Finalizando"); return modelo; } //TODO METHOD GET CARGO ALL @RequestMapping(value="/Rest", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map<String, Object> getCargoAll(HttpServletRequest request, HttpServletResponse response) throws Exception{ Map<String, Object> mapaResult = new HashMap<String, Object>(); try { if (log.isDebugEnabled()) log.debug("Inicio - CargoController.showView"); //TODO LISTAR CARGOS List<CargoBean> lstCargos = cargoService.listarCargos(); mapaResult.put("status", true); mapaResult.put("message", lstCargos.size() + " Registros Encontrados"); mapaResult.put("data", lstCargos); } catch (Exception ex) { if (log.isDebugEnabled()) log.debug("Error - CargoController.showView"); log.error(ex, ex); mapaResult.put("status", false); mapaResult.put("message", ex.getLocalizedMessage()); }finally { if (log.isDebugEnabled()) log.debug("Fin - CargoController.showView"); } return mapaResult; } //TODO METHOD GET CARGO BY ID @RequestMapping(value="/Rest/{codigo}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map<String, Object> getCargo(@PathVariable int codigo) { Map<String, Object> mapaResult = new HashMap<String, Object>(); try { if (log.isDebugEnabled()) log.debug("Inicio - CargoController.getCargo"); //TODO LISTAR CARGOS CargoBean cargo =cargoService.listarCargo(codigo); if(cargo != null) { mapaResult.put("status", true); mapaResult.put("message", "1 Registros Encontrados"); mapaResult.put("data", cargo); }else { mapaResult.put("status", false); mapaResult.put("message", "0 Registros Encontrados"); } } catch (Exception ex) { if (log.isDebugEnabled()) log.debug("Error - CargoController.getCargo"); log.error(ex, ex); mapaResult.put("status", false); mapaResult.put("message", ex.getLocalizedMessage()); }finally { if (log.isDebugEnabled()) log.debug("Fin - CargoController.getCargo"); } return mapaResult; } //TODO METHOD POST @RequestMapping(value="/Rest", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map<String, Object> postCargo(HttpServletRequest request, HttpServletResponse response) throws Exception { Map<String, Object> mapaResult = new HashMap<String, Object>(); //LECTURA DEL REQUEST BODY BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream())); String jsonEnviado = ""; if (reader != null) { jsonEnviado = reader.readLine(); } @SuppressWarnings("unchecked") Map<String, Object> dataEnvio = (Map<String, Object>) new JsonSerializer().deserialize(jsonEnviado, Map.class); //--------------------------------------------------------------------------------------- mapaResult.put("haber", dataEnvio.get("car_idcargo").toString()); return mapaResult; } //TODO METHOD PUT @RequestMapping(value="/Rest", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody CargoBean putCargo() { CargoBean UM = new CargoBean(); return UM; } //TODO METHOD DELETE @RequestMapping(value="/Rest/{codigo}", method = RequestMethod.DELETE, produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody CargoBean delUsuario(@PathVariable int codigo) { CargoBean UM = new CargoBean(); return UM; }
}
–Service
@Service(“CargoService”) public class CargoServiceImpl implements CargoService{ private static final Log log = LogFactory.getLog(CargoServiceImpl.class);
@Autowired private CargoDAOImpl cargoDAO;
@Override public List<CargoBean> listarCargos() throws Exception { if (log.isDebugEnabled()) log.debug("Inicio - CargoServiceImpl.listarCargos"); List<CargoBean> lst = new ArrayList<CargoBean>(); try { lst = cargoDAO.selCargos(); for(int x=0; x < lst.size(); x++) { CargoBean item = lst.get(x); item.setCar_desestado(item.getCar_estado().equalsIgnoreCase("I") ? "INACTIVO" : "ACTIVO"); } }catch(Exception ex) { if (log.isDebugEnabled()) log.debug("Error - Inicio - CargoServiceImpl.listarCargos"); log.error(ex, ex); throw ex; }finally{ if (log.isDebugEnabled()) log.debug("Final - Inicio - CargoServiceImpl.listarCargos"); } return lst; } @Override public CargoBean listarCargo(int car_idcargo) throws Exception { if (log.isDebugEnabled()) log.debug("Inicio - CargoServiceImpl.listarCargo"); CargoBean cargo = null; try { cargo = (CargoBean) cargoDAO.selCargo(car_idcargo); }catch(Exception ex) { if (log.isDebugEnabled()) log.debug("Error - CargoServiceImpl.listarCargo"); log.error(ex, ex); throw ex; }finally{ if (log.isDebugEnabled()) log.debug("Final - CargoServiceImpl.listarCargo"); } return cargo; } @Override public boolean insertarCargo(CargoBean c) throws Exception { boolean result; try { result = cargoDAO.insCargo(c); } catch (Exception e) { if (log.isDebugEnabled()) log.debug("Error - CargoServiceImpl.insertarCargo"); log.error(e, e); throw e; }finally { if(log.isDebugEnabled()) log.debug("Final - CargoServiceImpl.insertarCargo"); } return result; } @Override public boolean actualizarCargo(CargoBean c) throws Exception { boolean result; try { result = cargoDAO.updCargo(c); } catch (Exception e) { if (log.isDebugEnabled()) log.debug("Error - CargoServiceImpl.actualizarCargo"); log.error(e, e); throw e; }finally { if(log.isDebugEnabled()) log.debug("Final - CargoServiceImpl.actualizarCargo"); } return result; } @Override public boolean eliminarCargo(int car_idcargo) throws Exception { boolean result; try { result = cargoDAO.delCargo(car_idcargo); } catch (Exception e) { if (log.isDebugEnabled()) log.debug("Error - CargoServiceImpl.eliminarCargo"); log.error(e, e); throw e; }finally { if(log.isDebugEnabled()) log.debug("Final - CargoServiceImpl.eliminarCargo"); } return result; }
}
–Dao
public class CargoDAOImpl implements CargoDAO{ static Log log = LogFactory.getLog(CargoDAOImpl.class.getName());
private JdbcTemplate jdbcTemplate; //TODO - JDBCTEMPLATE SETER public void setJdbcTemplate(JdbcTemplate jdbcTemplate){ this.jdbcTemplate = jdbcTemplate; } @Override public List<CargoBean> selCargos() throws Exception { if (log.isDebugEnabled()) log.debug("Inicio - CargoDAOImpl.selCargos"); List<CargoBean> lstCargos = null; String SQL ="SELECT * FROM cargo"; try { lstCargos = jdbcTemplate.query(SQL, new ResultSetExtractor<List<CargoBean>>(){ @Override public List<CargoBean> extractData(ResultSet rs) throws SQLException, DataAccessException { List<CargoBean> list = new ArrayList<CargoBean>(); while (rs.next()) { CargoBean c = new CargoBean(); c.setCar_idcargo(rs.getInt("car_idcargo")); c.setCar_nomcargo(rs.getString("car_nomcargo")); c.setCar_descargo(rs.getString("car_descargo")); c.setCar_estado(rs.getString("car_estado")); list.add(c); } return list; } }); } catch (Exception ex) { if (log.isDebugEnabled()) log.debug("Error - CargoDAOImpl.selCargos"); log.error(ex, ex); throw ex; }finally{ if (log.isDebugEnabled()) log.debug("Final - CargoDAOImpl.selCargos"); } return lstCargos; } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public List<CargoBean> selCargo(int car_idcargo) throws Exception { if (log.isDebugEnabled()) log.debug("Inicio - CargoDAOImpl.selCargo"); String SQL = "SELECT * FROM cargo WHERE car_idcargo = ? "; CargoBean cargo = null; try { cargo = (CargoBean) jdbcTemplate.queryForObject(SQL, new Object[] { car_idcargo }, new RowMapper(){ @Override public CargoBean mapRow(ResultSet rs, int rowNum) throws SQLException { CargoBean c = new CargoBean(); c.setCar_idcargo(rs.getInt("car_idcargo")); c.setCar_nomcargo(rs.getString("car_nomcargo")); c.setCar_descargo(rs.getString("car_descargo")); c.setCar_estado(rs.getString("car_estado")); return c; } }); } catch (Exception ex) { if (log.isDebugEnabled()) log.debug("Error - CargoDAOImpl.selCargo"); log.error(ex, ex); throw ex; } finally { if (log.isDebugEnabled()) log.debug("Final - CargoDAOImpl.selCargo"); } if (log.isDebugEnabled()) log.debug("Inicio - CargoDAOImpl.selCargo"); return (List<CargoBean>) cargo; } @Override public boolean insCargo(CargoBean newCargo) throws Exception { if (log.isDebugEnabled()) log.debug("Inicio - CargoDAOImpl.insCargo"); String SQL = "INSERT INTO cargo VALUES ((select max(c.car_nomcargo)+1 from cargo c),?,?,?);"; int rows; try { rows = jdbcTemplate.update(SQL, new Object[] {newCargo.getCar_nomcargo(), newCargo.getCar_descargo(), newCargo.getCar_estado()}); } catch (Exception ex) { if (log.isDebugEnabled()) log.debug("Error - CargoDAOImpl.insCargo"); log.error(ex, ex); throw ex; } finally { if (log.isDebugEnabled()) log.debug("Final - CargoDAOImpl.insCargo"); } return rows==1; } @Override public boolean updCargo(CargoBean updCargo) throws Exception {
if (log.isDebugEnabled()) log.debug(“Inicio – CargoDAOImpl.updCargo”);
String SQL = "UPDATE cargo SET car_nomcargo = ?, car_descargo =?, car_estado = ? WHERE car_idcargo=?"; int rows; try { rows = jdbcTemplate.update(SQL, new Object[] {updCargo.getCar_nomcargo(), updCargo.getCar_descargo(), updCargo.getCar_estado(), updCargo.getCar_idcargo() }); } catch (Exception ex) { if (log.isDebugEnabled()) log.debug("Error - CargoDAOImpl.updCargo"); log.error(ex, ex); throw ex; } finally { if (log.isDebugEnabled()) log.debug("Final - CargoDAOImpl.updCargo"); } return rows == 1; } @Override public boolean delCargo(int car_idcargo) throws Exception { if (log.isDebugEnabled()) log.debug("Inicio - CargoDAOImpl.delCargo"); String SQL = "DELETE cargo WHERE car_idcargo = ? "; int rows; try { rows = jdbcTemplate.update(SQL, new Object[] { car_idcargo }); } catch (Exception ex) { if (log.isDebugEnabled()) log.debug("Error - CargoDAOImpl.delCargo"); log.error(ex, ex); throw ex; } finally { if (log.isDebugEnabled()) log.debug("Final - CargoDAOImpl.delCargo"); } return rows ==1; }
}
–soltech-servlet.xml
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd”>
<!-- MySQL DB DataSource --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/bd_soltech" /> <property name="username" value="root" /> <property name="password" value="" /> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="cargoDAO" class="pe.edu.idat.soltech.dao.CargoDAOImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> <!-- <property name="dataSource" ref="dataSource" /> --> </bean> <bean id="BandejaDAO" class="pe.edu.idat.soltech.dao.BandejaDAOImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> <!-- <property name="dataSource" ref="dataSource" /> --> </bean> <bean id="DistritoDAO" class="pe.edu.idat.soltech.dao.DistritoDAOImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> <!-- <property name="dataSource" ref="dataSource" /> --> </bean> <bean id="ProvinciaDAO" class="pe.edu.idat.soltech.dao.ProvinciaDAOImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> <!-- <property name="dataSource" ref="dataSource" /> --> </bean> <bean id="EmpleadoDAO" class="pe.edu.idat.soltech.dao.EmpleadoDAOImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> <!-- <property name="dataSource" ref="dataSource" /> --> </bean> <bean id="SucursalDAO" class="pe.edu.idat.soltech.dao.SucursalDAOImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> <!-- <property name="dataSource" ref="dataSource" /> --> </bean> <bean id="ServiciosDAO" class="pe.edu.idat.soltech.dao.ServiciosDAOImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> <!-- <property name="dataSource" ref="dataSource" /> --> </bean> <!-- View Resolver --> <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <mvc:resources mapping="/resources/**" location="/resources/" /> <mvc:annotation-driven /> <context:component-scan base-package="pe.edu.idat.soltech.service"/> <!-- <context:component-scan base-package="pe.edu.idat.soltech.dao"/> --> <context:component-scan base-package="pe.edu.idat.soltech.controller" />