- Questo topic ha 11 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 3 anni fa da
Antonio Pagano.
-
AutorePost
-
3 Maggio 2020 alle 19:38 #1955
MrWolf
Ospite13 Marzo 2022 alle 17:07 #5816Luke
Ospite::Salve a tutti e per quanto riguarda per le classi jsp invece? io ho rilevato un problema facendo in questo modo.
<p>ID Dipendente:
<% String dipendenteId=request.getParameter(“DipendenteID”);
if(dipendenteId !=null){
int matrDip = Integer.parseInt(dipendenteId);
out.print(matrDip); } %>
</p><br/><p>ID Ruolo:
<% String ruoloId = request.getParameter(“RuoloID”);
if(ruoloId != null){
int codRuolo = Integer.parseInt(ruoloId);
out.print(codRuolo); } %>
</p><br/>Mi porta un errore null di tipo java.lang.NumberFormatException. come si risolve?
14 Marzo 2022 alle 08:31 #5817ANTONIO PAGANO
Ospite15 Marzo 2022 alle 21:39 #5819Luke
Ospite::Buonasera Prof. Purtroppo mi da errore anche così e mi esce questo errore:
Context Path:/it.azienda.project
Servlet Path:/StoricoServlet
Path Info:null
Query String:null
Stack Trace
java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:542)
java.lang.Integer.parseInt(Integer.java:615)
servlet.StoricoServlet.doGet(StoricoServlet.java:41)
servlet.StoricoServlet.doPost(StoricoServlet.java:109)…..
…..
io alla mia Servlet ho trasformato dei paramentri da stringa ad intero con il parseInt(). Alla classe jsp come faccio a memorizzare numeri interi? (Inoltre ho creato un file html dove attraverso un form passo tutti i parametri stringhe e interi).16 Marzo 2022 alle 08:26 #5821ANTONIO PAGANO
Ospite16 Marzo 2022 alle 10:34 #5822Luke
Ospite::Allora questo è il doGet della Servlet Storico:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String tipoOperazione = request.getParameter(“operazione”);
StoricoDAO std = new StoricoDAO();if(tipoOperazione.equals(“insert”)) {
Storico s = new Storico();String impId = request.getParameter(“ImpiegatoID”);
int matricolaImp = Integer.parseInt(impId);String ruoloId = request.getParameter(“RuoloID”);
int codiceRuolo = Integer.parseInt(ruoloId);String dateStarted = request.getParameter(“DataInizio”);
String dateFinished = request.getParameter(“DataFine”);s.setImpiegatoID(matricolaImp);
s.setRuoloID(codiceRuolo);
s.setDataInizio(dateStarted);
s.setDataFine(dateFinished);try {
std.insert(s);
} catch (SQLException e) {
e.printStackTrace();
}
}else if(tipoOperazione.equals(“update”)) {
Storico s = new Storico();
String dateStarted = request.getParameter(“DataInizio”);
String dateFinished = request.getParameter(“DataFine”);String storicoId = request.getParameter(“StoricoID”);
int id =Integer.parseInt(storicoId);s.setDataInizio(dateStarted);
s.setDataFine(dateFinished);
s.setStoricoID(id);try {
std.update(s);
} catch (SQLException e) {
e.printStackTrace();
}
}else if(tipoOperazione.equals(“delete”)) {
String storicoId = request.getParameter(“StoricoID”);
int id =Integer.parseInt(storicoId);try {
std.delete(id);
} catch (SQLException e) {
e.printStackTrace();
}
}
request.getRequestDispatcher(“/storico.jsp”).forward(request, response);}
Mentre per la jsp ho modificato qualcosina è l’ho rifatta in questo modo:
<%@ page language=”java” contentType=”text/html; charset=UTF-8″ pageEncoding=”UTF-8″%>
<!DOCTYPE html>
<html>
<head>
<meta charset=”UTF-8″>
<title>Insert Complete</title>
</head>
<body><p> ID Impiegato:
<% int ImpiegatoId = Integer.parseInt(request.getParameter(“ImpiegatoID”));
out.print(ImpiegatoId); %>
</p> <br/><p> ID Ruolo:
<% int RuoloId = Integer.parseInt(request.getParameter(“RuoloID”));
out.print(RuoloId); %>
</p> <br/><p>Data Inizio Lavoro:
<% String dateStarted =
request.getParameter(“dataInizio”);
out.print(dateStarted); %> <br/>
Data Fine Lavoro:
<% String dateFinished =
request.getParameter(“dataFine”);
out.print(dateFinished); %> <br/>
</p></body>
</html>17 Marzo 2022 alle 09:24 #5829Antonio Pagano
Ospite::Se ho capito bene, prima viene invocata la servlet e poi storico.jsp.
Nella jsp hai usato, giustamente, request.getParameter(ImpiegatoID) ma nella servlet non hai usato request.setParameter per valorizzare ImpiegatoID.
RIcordati che get e setParameter hanno validità di una request, cioè valgono solo per una chiamata, nella successiva non saranno pù visibili.
Detto in altri termini, se nella serlvet request.getParameter(“ImpiegatoID”); ti ritorna un valore,
nella jsp no.
Per fartelo ritornare anche nella jsp devi usare request.setParameter nella servlet
Fammi sapere se sono stato chiaro.17 Marzo 2022 alle 12:35 #5832Luke
Ospite::Allora io dall url invoca il form HTML per compilare tutti i campi, dal form passo alla servlet che mi dovrebbe confermare i dati inseriti e da li passo alla jsp che mi ritorna la pagina con i dati che avevo inserito nel form; ma purtroppo mi da errore.
Inoltre Prof ho utilizzato i setter della classe Storico per inserire i valori nei campi.
Storico s = new Storico();
String dateStarted = request.getParameter(“DataInizio”);
String dateFinished = request.getParameter(“DataFine”);String impId = request.getParameter(“ImpiegatoID”);
int matricolaImp = Integer.parseInt(impId);String ruoloId = request.getParameter(“RuoloID”);
int codiceRuolo = Integer.parseInt(ruoloId);s.setImpiegatoID(matricolaImp);
s.setRuoloID(codiceRuolo);
s.setDataInizio(dateStarted);
s.setDataFine(dateFinished);Infine, ho provato a fare il request.setParameter() ma esce un errore con la scritta: “The method setParameter(int) is undefined for the type HttpServletRequest”.
NB: Sto impazzendo! XD
18 Marzo 2022 alle 08:35 #5837ANTONIO PAGANO
Ospite::Il metodo setParameter prevede due parametri in ingresso: il nome della variabile e il valore. Tu invece ne passi uno.
Mandami tutto il codice completo, quindi, se ho ben capito, due jsp e la servlet.
Puoi copiarlo qua sul forum oppure su questo sito https://pastebin.com/ e poi posti il link.26 Marzo 2022 alle 17:04 #5884Luke
Partecipante::Salve prof, alla fine sono riuscito a risolvere ed andare avanti con l’esercizio. Tuttavia adesso mi trovo d’avanti un altro ostacolo quando creo un nuovo progetto con maven.
Il problema è nel file pom.xml che mi da un errore con scritto:
Impossibile inizializzare la classe
org.apache.maven.plugin.war.util.WebappStructureSerializerCome faccio a risolvere questo problema?
27 Marzo 2022 alle 18:00 #5887Antonio Pagano
Amministratore del forum -
AutorePost
- Devi essere connesso per rispondere a questo topic.