| | |
I need help with my java servlet homework(edit)
Please support our Java advertiser: Programming Forums - DaniWeb Sister Site
![]() |
•
•
Join Date: Dec 2007
Posts: 9
Reputation:
Solved Threads: 0
I have a homework in which our teacher asked us to write a code in which the user can add, delete and edit his wishlist...I can only do add and delete...I am sure that there is a lot of problem for edit so please help me to make it work...I am using database for this...
This is my html code:
This is my servlet:
This is my other servlet:
This is my html code:
Java Syntax (Toggle Plain Text)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Christmas Wishes</title> </head> <body> <h3>Place Your Christmas Wishes Here</h3> <form action="ChristmasWishlist" method=post> <table> <tr><th>Wish:</th><td><input type=text name=gift size=100></td></tr> <tr><th>Amount:</th><td><input type=text name=amount size=10></td></tr> <tr><th colspan=2><input type=submit name=submit value="Add"></th></tr> </table> </form> </body> </html>
This is my servlet:
Java Syntax (Toggle Plain Text)
import java.sql.Connection; import java.sql.DriverManager; public class ConnectionManager { protected Connection con; protected String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/"; String database = "WishList"; String user = "root"; String password = ""; /** Creates a new instance of ConnectionManager */ public ConnectionManager() { } public Connection logOn(){ try { Class.forName(driver).newInstance(); con = DriverManager.getConnection(url+database,user,password); } catch(Exception e){ System.out.print(e.getMessage()); } return con; } public void logOff(){ try { con.close(); } catch(Exception e){ e.printStackTrace(); } } }
This is my other servlet:
Java Syntax (Toggle Plain Text)
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.sql.*; /** * Servlet implementation class for Servlet: ChristmasWishlist * */ public class ChristmasWishlist extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L; /* * Connect to the database */ /* * (non-Java-doc) * * @see javax.servlet.http.HttpServlet#HttpServlet() */ public ChristmasWishlist() { super(); } /* * (non-Java-doc) * * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, * HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub process(request, response); } /* * (non-Java-doc) * * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, * HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub process(request, response); } protected void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); out.println("<html><title>List of All Your Wishes</title><body>"); //check if you are getting the right values, comment out once the program is working //line below will work only for java 5 up java.util.Enumeration e = request.getParameterNames(); while (e.hasMoreElements()) { String gift = e.nextElement().toString(); out.println("<br>" + gift + " - " + request.getParameter(gift)); } if (request.getParameter("submit") != null) { if (!request.getParameter("submit").isEmpty()) { if (request.getParameter("submit").equals("Add")) { if (!request.getParameter("gift").isEmpty()) { out.println(addChristmasWishlist(request .getParameter("gift"))); } else { out.println("<p>Nothing to do"); } } else if(request.getParameter("submit").equals("Delete")) { delChristmasWishlist(Integer.parseInt(request.getParameter("id"))); } else if(request.getParameter("submit").equals("Delete")) { out.println("<p>Nothing to do"); } } } else { out.println("<p>empty"); } out.println("<p><a href=wish.html>Add again</a>"); ResultSet rst = null; try { rst = viewChristmasWishlist(); int count = 1; out.println("<table><tr><th colspan=2>ChristmasWishlist</th></tr>"); while(rst.next()) { out.println("<tr><td><b>"+count+".</b></td><td>"+rst.getString("gift")+"</td>" + "<td><a href=ChristmasWishlist?id="+rst.getInt("id")+"&submit=Edit>Edit</a.</td>"+ "<td><a href=ChristmasWishlist?id="+rst.getInt("id")+"&submit=Delete>Delete</a.</td></tr>"); count++; } out.println("</table>"); } catch(Exception e2) { } out.println("</body></html>"); } public String addChristmasWishlist(String wish) { try { ConnectionManager con = new ConnectionManager(); Statement stmt = con.logOn().createStatement(); String msg = ""; String sql = "insert into wishes set gift='" + wish.replaceAll("\'", "\\\'") + "'"; if (stmt.execute(sql)) { msg = "Insert failed"; } else { msg = "Added successfully"; } con.logOff(); return msg; } catch (SQLException e) { return "Add failed. SQL error " + e.getMessage(); } catch (java.lang.NullPointerException ne) { return "<?p>Null error: " + ne.getMessage(); } } public String delChristmasWishlist(int id) { try { ConnectionManager con = new ConnectionManager(); Statement stmt = con.logOn().createStatement(); String msg = ""; String sql = "delete from wishes where id="+id; if (stmt.execute(sql)) { msg = "Delete failed"; } else { msg = "Delete successfully"; } con.logOff(); return msg; } catch (SQLException e) { return "Add failed. SQL error " + e.getMessage(); } catch (java.lang.NullPointerException ne) { return "<p>Null error: " + ne.getMessage(); } } public String editChristmasWishlist(String wish) { try { ConnectionManager con = new ConnectionManager(); Statement stmt = con.logOn().createStatement(); String msg = ""; String sql = "update from wishes where gift="+wish; if (stmt.execute(sql)) { msg = "update failed"; } else { msg = "update successfully"; } con.logOff(); return msg; } catch (SQLException e) { return "Add failed. SQL error " + e.getMessage(); } catch (java.lang.NullPointerException ne) { return "<p>Null error: " + ne.getMessage(); } } public ResultSet viewChristmasWishlist() { ResultSet rst = null; try { ConnectionManager con = new ConnectionManager(); Statement stmt = con.logOn().createStatement(); String msg = ""; String sql = "select * from wishes"; rst = stmt.executeQuery(sql); } catch (SQLException e) { } catch (java.lang.NullPointerException ne) { } return rst; } }
•
•
Join Date: Dec 2007
Posts: 9
Reputation:
Solved Threads: 0
please help me with this...you can just concentrate on edit since I was able to do add and delete...please and thank you...
Java Syntax (Toggle Plain Text)
public String editChristmasWishlist(String wish) { try { ConnectionManager con = new ConnectionManager(); Statement stmt = con.logOn().createStatement(); String msg = ""; String sql = "update from wishes where gift="+wish; if (stmt.execute(sql)) { msg = "update failed"; } else { msg = "update successfully"; } con.logOff(); return msg; } catch (SQLException e) { return "Add failed. SQL error " + e.getMessage(); } catch (java.lang.NullPointerException ne) { return "<p>Null error: " + ne.getMessage(); } }
We have no way of knowing how your interface looks / how your table structure looks like. Next time try posting a more detailed explanation of how your application looks like.
There are some visible problems with your code:
There are some visible problems with your code:
- Consider using PreparedStatement instead of normal Statement to get around the problem of SQL Injection and complicated quoting / unquoting.
- NullPointerException is a runtime exception which can be very well avoided with a simple check. The very fact that you are catching it shows there is something wrong with your design.
- And the most important of all, your SQL statement is hosed! The syntax of your update SQL statement is incorrect.
UPDATE table_name SET column_name = value WHERE column_name = that_thing; - The logic seems to be incorrect. Do you plan on updating the wishlist of all those people who have the same wish? At least that is what it seems to me since you seem to be updating on 'wish' and not on the unique 'id'. (if you have one)
Last edited by ~s.o.s~; Dec 24th, 2007 at 8:35 am.
I don't accept change; I don't deserve to live.
Jo Tujhe Jagaaye, Nindein Teri Udaaye Khwaab Hai Sachcha Wahi.
Nindon Mein Jo Aaye Jise To Bhul Jaaye Khawab Woh Sachcha Nahi.
Khwaab Ko Raag De, Nind Ko Aag De
Jo Tujhe Jagaaye, Nindein Teri Udaaye Khwaab Hai Sachcha Wahi.
Nindon Mein Jo Aaye Jise To Bhul Jaaye Khawab Woh Sachcha Nahi.
Khwaab Ko Raag De, Nind Ko Aag De
![]() |
Similar Threads
Other Threads in the Java Forum
- Previous Thread: help regarding setting tomcat password and username in netbeans6.0
- Next Thread: filepath is changing
| Thread Tools | Search this Thread |
Tag cloud for Java
actionlistener android api apple applet application apps arguments array arrays automation balls binary bluetooth card chat class classes client code component consumer database draw eclipse ee error event exception file fractal free game gameprogramming gis givemetehcodez graphics gui helpwithhomework html ide image input integer j2me j2seprojects java javaprojects jmf jni jpanel julia jvm linux list loop machine map method methods migrate mobile myaggfun netbeans newbie nextline nls notdisplaying number oracle output print problem program programming project recursion recursive scanner screen security server set size sms socket sort spamblocker sql sqlite string sun swing terminal test threads time tree trolltech windows






