Witam. Otoż mam taki problem. PO wybraniu tabelki którą chce edytować, wypełnieniu jej odpowiednimi wartościami i wciśnięciu przycisku update mam taki błąd:HTTP Status 500 - An exception occurred processing JSP page /update.jsp at line 6
type Exception report
message An exception occurred processing JSP page /update.jsp at line 6
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /update.jsp at line 6
3: <%
4: String Pesel=request.getParameter("PESEL");
5: int pes=0;
6: pes=Integer.parseInt(Pesel);
7:
8:
9: String password=request.getParameter("password");
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:454)
java.lang.Integer.parseInt(Integer.java:527)
org.apache.jsp.update_jsp._jspService(update_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.55 logs.
Apache Tomcat/7.0.55
A o to moje pliki application.jsp
<%@ page import="java.sql.*" %>
<html>
<head>
<script language="javascript">
function editRecord(PESEL){
var f=document.form;
f.method="post";
f.action='edit.jsp?PESEL='+PESEL;
f.submit();
}
function deleteRecord(PESEL){
var f=document.form;
f.method="post";
f.action='delete.jsp?PESEL='+PESEL;
f.submit();
}
function dodajRecord(PESEL){
var f=document.form;
f.method="post";
f.action='dodawanie.jsp?PESEL='+PESEL;
f.submit();
}
</script>
</head>
<body>
<form method="post" name="form">
PESEL</th>Password</th>Name</th>Adres</th>telefon</th>ID</th></tr>
<%
Connection con = null;
String url = "jdbc:mysql://localhost:3306/testowa_baza";
String db = "test";
String driver = "com.mysql.jdbc.Driver";
String userName ="root";
String password="root";
int sumcount=0;
Statement st;
try{
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url,userName,password);
String query = "select * from konta";
st = con.createStatement();
ResultSet rs = st.executeQuery(query);
%>
<%
while(rs.next()){
%>
<%=rs.getString(1)%></td>
<%=rs.getString(2)%></td>
<%=rs.getString(3)%></td>
<%=rs.getString(4)%></td>
<%=rs.getString(5)%></td>
<%=rs.getString(6)%></td>
<input type="button" name="edit" value="Edit" style="background-color:#49743D;font-weight:bold;color:#ffffff;" onclick="editRecord(<%=rs.getString(1)%">);" ></td>
<input type="button" name="delete" value="Delete" style="background-color:#ff0000;font-weight:bold;color:#ffffff;" onclick="deleteRecord(<%=rs.getString(1)%">);" ></td>
<input type="button" name="dodaj" value="Dodaj" style="background-color:#ff0000;font-weight:bold;color:#ffffff;" onclick="dodajRecord(<%=rs.getString(1)%">);" ></td>
</tr>
<%
}
%>
<%
}
catch(Exception e){
e.printStackTrace();
}
%>
</table>
</form>
</body>
</html>
```
Następny edit.jsp
<%@page language="java"%>
<%@page import="java.sql.*"%>
<form method="post" action="update.jsp">
<table border="1">
<tr><th>Password</th><th>Name</th><th>Adres</th><th>telefon</th><th>ID</th></tr>
<%
String PESEL=request.getParameter("PESEL");
int no=Integer.parseInt(PESEL);
int sumcount=0;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testowa_baza", "root", "root");
String query = "select * from konta where PESEL='"+no+"'";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
while(rs.next()){
%>
<tr>
<td><input type="text" name="password" value="<%=rs.getString("password")%>"></td>
<td><input type="text" name="name" value="<%=rs.getString("name")%>"></td>
<td><input type="text" name="Adres" value="<%=rs.getString("Adres")%>"></td>
<td><input type="text" name="telefon" value="<%=rs.getString("telefon")%>"></td>
<td><input type="text" name="ID" value="<%=rs.getInt("ID")%>"></td>
<td><input type="hidden" name="id" value="<%=rs.getInt(1)%>"></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Update" style="background-color:#49743D;font-weight:bold;color:#ffffff;"></td>
</tr>
<%
}
}
catch(Exception e){}
%>
</table>
</form>
</form>
Oraz nieszczęsny update.jsp:
<%@page import="java.sql.*"%>
<%
String Pesel=request.getParameter("PESEL");
int pes=0;
pes=Integer.parseInt(Pesel);
String password=request.getParameter("password");
String name=request.getParameter("name");
String Adres=request.getParameter("Adres");
String telefon=request.getParameter("telefon");
String ide=request.getParameter("ID");
int num=0;
num=Integer.parseInt(ide);
try{
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testowa_baza","root", "root");
Statement st=null;
st=conn.createStatement();
st.executeUpdate("update konta set password='"+password+"',name='"+name+"',Adres="+Adres+",telefon='"+telefon+",ID='"+num+"' where PESEL='"+pes+"'");
response.sendRedirect("application.jsp");
}
catch(Exception e){
System.out.println(e);
}
%>
Oto moja baza danych: http://iv.pl/images/78151110734584805253.jpg
Z góy dziękuje za pomoc.